Django 3.1 发布,异步支持增强
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
總結
以上是生活随笔為你收集整理的Django 3.1 发布,异步支持增强的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NFC与RFID的原理及应用区别
- 下一篇: RabbitMQ简介以及应用