重磅干货,第一时间送达
来源: 开源中国
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
-END-