Django3.x体验
Django
自2015年发布3.5版以来,协程和async / await语法已在Python中存在,但利用该功能的工具和项目发布缓慢。用于构建异步应用程序的成熟库开始可用,而我们喜欢的库正在朝异步方向发展。异步是Python的未来。
目前版本是Django==3.1.2
有什么不一样
对Python版本要求3.6
支持ASGI,异步服务网关接口。
支持原生的异步视图,同时也支持异步中间件。
支持ASGI
历史背景:如何实时消息通知机制?
HTTP协议
使用Http协议,每隔一段时间询问一次。 (轮询方式)
- 服务器压力很大
- 发送了很多重复的报文
(长轮询)
Http是一种同步的通信机制。
WebSocket协议
建立持久的双向通信的连接
单台服务器并发连接
体验
找到一个目录
python3 -m venv venv
Mac电脑
➜ source ./venv/bin/activate
可以看到新增的asg i.py
文件。
├── ddd
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
第一个异步视图
from django.http import HttpResponse
async def index(request):
return HttpResponse("异步视图")
urls.py
from django.contrib import admin
from django.urls import path
from django31.views import index
urlpatterns = [
path('admin/', admin.site.urls),
path("", index)
]