python中modify是什么意思_python – Django中的override_settings和modify_settings有什么区别?...
override_settings將完全更改存儲在設置旁邊的對象.也就是說,原始值將被銷毀. modify_settings將修改現有對象.這可以通過獲取append,prepend和remove參數來實現.您在文檔中看到的對象不是MIDDLEWARE對象,它是在MIDDLEWARE對象上執行以修改它的步驟列表.例如,給定settings.py中定義的以下MIDDLEWARE:
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
如果您使用:
@modify_settings(MIDDLEWARE={
'append': 'django.middleware.cache.FetchFromCacheMiddleware',
'prepend': 'django.middleware.cache.UpdateCacheMiddleware',
'remove': [
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
],
})
它產生最終設置:
MIDDLEWARE=[
'django.middleware.cache.UpdateCacheMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware'
]
override_settings的相同結果將需要上面的整個結果對象.
這里的問題很明顯.如果我們更改settings.py中的原始MIDDLEWARE設置,我們將不得不更新我們的測試.如果我們使用modify_settings,我們可能仍然會很好.
我同意這些文檔并不清楚,因為它并沒有真正說清楚’append’是一個特殊的關鍵字,例如.
總結
以上是生活随笔為你收集整理的python中modify是什么意思_python – Django中的override_settings和modify_settings有什么区别?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac终端修改默认python_Mac
- 下一篇: websocket python爬虫_p