python3.0什么时候发布的_Django 3.0 发布说明
Python兼容性
Django 3.0 僅支持Python 3.6, 3.7和3.8,而且僅支持每個系列里的最新版本。而Django 2.2.x是最后的支持Python 3.5的版本。Django官方已經(jīng)建議第三方應(yīng)用開發(fā)者放棄兼容Django2.2之前的版本,并給出了操作指南。
Django 3.0的新特性支持MariaDB Django現(xiàn)在官方支持MariaDB 10.1及以上版本
2. 支持 ASGI Django 3.0已經(jīng)完全自持async應(yīng)用了。并提供了部署異步應(yīng)用的說明
3. 在PostgreSQL上支持ExclusionConstraint
4. Filter 表達式
5. model field的choices屬性現(xiàn)在支持自定義枚舉類型
6. 一些小變更:
1. django.contrib.admin ModelAdmin.listdisplay 增加了 adminorderfiled;新的ModelAdmin.get_inlinces()方法支持基于request或者model實例來指定inlines;Select2升級到4.0.7;jQuery升級到3.4.1
2. django.contrib.auth PasswordResetConfirmView添加了reset_url_token屬性,可以在reset URL上顯示一個token參數(shù);為了支持認證backend的定制,增加了基類 BaseBackend;為了和get_group_permissions()對應(yīng),添加了get_user_permissions()方法;在django.contrib.auth.forms的password、username、和email字段上添加了 autocomplate HTML屬性,以便更好地和瀏覽器的密碼管理功能交互;當在命令行的非交互模式下,沒有提供某些createsuperuser的參數(shù)時,將從環(huán)境變量讀取這些參數(shù); REQUIREDFIELDS現(xiàn)在支持ManyToManyField;新方法 UserManager.with_perm()返回特定權(quán)限的用戶;PBKDF2密碼哈希器迭代次數(shù)從15萬次增加到18萬次。
3. django.contrib.gis 允許MySQL的空間查詢函數(shù)在只是的空間中操作,之前限制在綁定的盒子上;增加了GeometryDistance函數(shù),支持PostGIS;在Distance上支持長度單位furlong;支持在pathlib.Path上使用GEOIP_PATH;GeoIP2類現(xiàn)在接受 pathlib.Path
4. django.contrib.postgresql
5. django.contrib.sessions 新的get_session_cookie_age()允許動態(tài)地獲取session的cookie age
6. django.contrib.syndication 添加了 language類屬性在django.contrib.syndication.views.Feed上,支持自定義feed的語言。默認值是get_language()而不是之前的LANGUAGE_CODE。
7. cache add_never_cache_headers()和never_cache() 增加了private指令 到 Cache-Control
8. File Storage Storage.get_alternative_name()允許自動以生成文件名的算法,當上傳的文件名已經(jīng)存在的時候
9. Form
10. I18N
11. Logging
非兼容變更Database backend API
django.contrib.admin
django.contrib.gis
不再支持PostgreSQL 9.4,django支持PostgreSQL 9.5及以上版本
不再支持Oracle 12.1,django 3.0支持 Oracle 12.2和18c
移除一些私有的Python 2 兼容的API
移除的特性
以下特性已經(jīng)到達了最后的維護期限,所以在Django 3.0 中已經(jīng)移除django.db.backends.postgresql_psycopg2 模塊被移除
django.shortcuts.render_to_response被移除
DEFAULT_CONTENT_TYPE設(shè)置被移除
HttpRequest.xreadlines() 被移除
Field.from_db_value()和Expression.convert_value()中的context參數(shù)被移除
QuerySet.earliest()和latest()的關(guān)鍵字參數(shù)field_name 被移除
ForceRHR函數(shù)被移除
django.utils.http.cookie_date() 被移除
staticfiles和admin_static模板標簽庫被移除
django.contrib.staticfiles.templatetags.staticfiles.static()被移除
一般情況下,新發(fā)布的版本在隨后的較短時間內(nèi)可能會發(fā)布bug的修復版,本人并不建議立刻從Django 2.2升級到3.0,可以再過2-3個月;如果項目還在使用Django 2.0.x,2.1.x,可以先升級到 Django 2.2的最新版。
總結(jié)
以上是生活随笔為你收集整理的python3.0什么时候发布的_Django 3.0 发布说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 镭射膜能备案吗(镭射膜备案)
- 下一篇: python3中urlopen_解决py