上週 2021/04/06 Django 官方正式釋出了新版本,
Django 3.2 LTS ,
同時也是 Django 3 最後一個長期穩定版,
今天就簡單來介紹
Django 3.2 LTS 新功能
Django 是基於 Python 語言 的網站框架,
Django 3.2 支援 Python 3.6 之後的版本,
要使用 Django 3.2 就盡量使用官方所建議的版本吧。
Automatic AppConfig discovery
以往在新增 Django AppConfig 的類別時,
都需要以
app.apps.appconfig
的方式加入 settings.py 中的 INSTALLED_APPS
在 Django 3.2 版本之後,
支援只在 INSTALLED_APPS 打上 app name 即可
Customizing type of auto-created primary keys
在定義 model 中,
若沒有設定主鍵,(primary_key=True)
Django 會自動給予 AutoField 的主鍵設定,
在 Django 3.2 版本之後,
預設將使用 BigAutoField 作為預設值。
若不想使用 BigAutoField 可指定要預設的格式
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
Functional indexes
支援在 expressions 表達式 與 資料庫函式 建立索引,
官方也針對此功能給了範例說明
pymemcache support
新的
django.core.cache.backends.memcached.PyMemcacheCache
支援 pymemcache 3.4.0 以上版本的 library。
New decorators for the admin site
新增兩個裝飾器 @display 和 @actions ,
例如:
def is_published(self, obj):
return obj.publish_date is not None
is_published.boolean = True
is_published.admin_order_field = '-publish_date'
在 Django 3.2 之後可以寫成:
@admin.display(
boolean=True,
ordering='-publish_date'
)
def is_published(self, obj):
return obj.publish_date is not None
其他還有許多新增與修改的功能,
在此處就不再多贅述,
總之新版本新功能表示隨著時代演進有在進步,
不及格研究室都表示支持。
沒有留言:
張貼留言