我想在我的settings.py文件中定義一個常量變量,它將在整個應用程序中可用。
即,如果我在settings.py做,例如:
VAR = [1,2,3]python django設置執行sql語句
然後我認爲我可以訪問它喜歡:
VAR = settings.VAR
但是,我希望VAR會從數據庫中獲取。
表示當我的應用程序啓動時,執行SQL並將答案加載到VAR。
所以我試圖在views.py,做創建一個函數:
def loadVAR():
... # perform sql
return VAR
,並在settings.py:
import myapp.views
VAR = myapp.views.loadVAR()
在views.py
但它不起作用,我得到一個「500內部服務器錯誤」 我也沒有設法直接在設置中執行SQL。
我該如何做到這一點?
但是,中間件不是要在每個請求上運行嗎?我不需要它那樣工作。我只想在服務器內存中存儲一些數據,這些數據可以在應用程序中訪問,供每個用戶使用(與會話不同)。我需要執行這個只能拉一次這個數據的SQL,我不想爲每個用戶執行它。 – user3599803
@ user3599803我更新了我的答案。 – dhana
優秀。我從來沒有想過使用這個init.py文件(以前是空的)。但是,它的工作! – user3599803