Django 3.1 已经发布。此版本亮点包括:
- 进一步支持异步视图与异步中间件。
要开始使用异步视图,需要声明一个视图 :async def
async def my_view(request): await asyncio.sleep(0.5) return HttpResponse('Hello, async world!')
无论是在 WSGI 还是 ASGI 模式下运行,都支持所有异步功能。但是,在 WSGI 模式下使用异步代码会导致性能下降。Django 的 ORM、缓存层和其它长时间运行网络调用的代码尚不支持异步访问。
- 新增 models.JSONField 和 forms.JSONField,可在所有受支持的数据库后端上使用。这两个字段都支持使用自定义 JSON 编码器和解码器。
from django.db import models class ContactInfo(models.Model): data = models.JSONField() ContactInfo.objects.create(data={ 'name': 'John', 'cities': ['London', 'Cambridge'], 'pets': {'dogs': ['Rufus', 'Meg']}, }) ContactInfo.objects.filter( data__name='John', data__pets__has_key='dogs', data__cities__contains='London', ).delete()
- tokens、cookies、sessions 和 signatures 现在使用 SHA-256 哈希算法。
详情查看发布公告:
https://www.djangoproject.com/weblog/2020/aug/04/django-31-released
转自 https://www.oschina.net/news/117695/django-3-1-released
想想自己那时候还是用的2.x 还不支持异步貌似