python - [Django]如何讓每一個template都可以取得user信息
漂亮男人
漂亮男人 2017-07-05 10:34:29
0
5
1020

例如用Django搭網站,大部分的頁面都會含有user的訊息,像是使用者名,頭像等等。

但是我不可能每個view都傳一個user變數進context吧?

我這種需求一般如何實現呢?

漂亮男人
漂亮男人

全部回覆(5)
typecho

你多慮了,不用你手動一個個寫的,預設已經有了,直接用就行,例如:{{user.username}}
不過沒有頭像等自訂的欄位資訊。
或 你自訂一個context_processors.py,用於返回你想要的信息,然後在settings.py裡導入。 就不需要在每個函數都回傳了

洪涛

雷雷

Ty80

應該是{{request.user.username}}.
而且django支援設定全域變數

習慣沉默

使用者登入後,使用者資訊一般都會存在request.user裡,不需要傳user變數進context, 前提是在settings裡引用了 django.template.context_processors.request

我想大声告诉你

補充一點:如果很多頁面都會出現固定的一部分內容,可以採取模板繼承的方法,將相同的部分提取出來,透過extends和include對模板的內容進行修改。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板