0
我的觀點之一取決於foo
函數。該功能的行爲由設置BAR
定義。我有不同的意見,使用foo
,其中一個我想foo
工作,好像它略有不同。不幸的是,foo
處於第三方依賴關係,所以我無法修改它。在Django視圖中override_settings
我正在考慮做如下:
from django.test.utils import override_settings
def my_view(request):
with override_settings(BAR="newvalue"):
foo()
...
我知道它的骯髒和粗俗。但是安全嗎?我可以假設settings.BAR
在my_view
以外的視圖中會有正確的值嗎?
我在Python 2.7中使用Django 1.4,如果這很重要的話。我的foo
函數實際上是一個上傳函數,我需要它將文件上傳到不同目錄的不同視圖。
您可以擴展設置更改會影響其他視圖和用戶的原因嗎?你的意思是說併發進程會共享修改後的設置值嗎? – 2014-12-01 22:55:31
https://docs.djangoproject.com/zh/dev/topics/settings/#altering-settings-at-runtime是的,這就是我的意思(在嘗試simmilar的同時閱讀某處)。 – cdvv7788 2014-12-01 22:59:18