Django中使用locals 函式的技巧

2022-10-04 22:27:45 字數 945 閱讀 1307

對 current_datetime 的一次賦值操作:

def current_datetime(request):

now = datetime.datetime.now()

return render_to_response('current_datetime.html', )

很多時候,就像在這個範例中那樣,你發現自己一直在計算某個變數,儲存結果到變數中(比如前面**中的 now ),然後將這些變數傳送給模板。 尤其喜歡偷懶的程式設計師應該注意到了,不斷地為臨時變數和臨時模板命名有那麼一點點多餘。 不僅多餘,而且需要額外的輸入。

如果你是個喜歡偷懶的程式設計師並想讓**看起來更加簡明,可以利用 python 的內建函式 locals() 。它返回的字典對所有區域性變數的名稱與值進行對映。 因此,前面的檢視可以重寫成下面這個樣子:

def current_datetime(request):

current_date = datetime.datetime.now()

return render_to_respobnkvrcnse('current_d程式設計客棧atetime.html', locals())

在此,我們沒有像之前那樣手工指定 context 字典,而是傳入了 locals() 的值,它囊括了函式執行到該時間點時所定義的一切變數。 因此,我們將 now 變數重新命名為 current_date ,因為那才是模板所預期的變數名稱。 在本例中, locals() 並沒有帶來多 大 bnkvrc的改進,但是如果有多個模板變數要界定而你又想偷懶,這種技術可以減少一些鍵盤輸入。

使用 locals() 時要注意是它將包括 所有 的區域性變數,它們可能比你想讓模板訪問的要多。 在前例中, locals() 還包含了 request 。對此如何取捨取決你的應用程式。

本文標題: django中使用locals()函式的技巧

本文位址: /jiaoben/python/128192.html

django中使用日誌

配置日誌檔案的使用 logging 日誌格式 filters handlers default error console request handler scprits handler loggers django.request scripts blog.views 在views 檢視函式中使用...

Django中使用快取

pip install drf extensions1.直接新增裝飾器 可以在使用rest framework extensions.cache.decorators中的cache response裝飾器來裝飾返回資料的類檢視的物件方法,如 python class cityview apiview...

Django中使用訊息提示

來自 先簡單說一下這裡的訊息提示是什麼意思,以及其被需求的程度。比如你上乙個任何乙個 當你進行某項操作 例如提交表單或者刪除乙個好友等 可能會彈出乙個訊息框,告訴你你完成了某項操作 相反的,當你進行某項非法操作時,比如你在 號碼的輸入框裡輸入了你的郵箱,人性化的 也許會友好地彈出個框告訴你,你的操作...