Wenn Sie beispielsweise Django zum Erstellen einer Website verwenden, enthalten die meisten Seiten Benutzerinformationen wie Benutzername, Avatar usw.
Aber es ist mir unm?glich, für jede Ansicht eine Benutzervariable in den Kontext zu übergeben, oder?
Wie erreiche ich normalerweise meine Bedürfnisse?
你多慮了,不用你手動(dòng)一個(gè)個(gè)寫的,默認(rèn)已經(jīng)有了,直接用就行,比如:{{user.username}}
不過沒有頭像等自定義的字段信息。
或者 你自定義一個(gè)context_processors.py,用于返回你想要的信息,然后在settings.py里導(dǎo)入。 就不需要在每個(gè)函數(shù)都返回了
用戶登錄后,用戶信息一般都會(huì)存在request.user里,不需要傳user變量進(jìn)context, 前提是在settings里引用了 django.template.context_processors.request
補(bǔ)充一點(diǎn):如果很多頁面都會(huì)出現(xiàn)固定的一部分內(nèi)容,可以采取模板繼承的方法,將相同的部分提取出來,通過extends和include對模板的內(nèi)容進(jìn)行修改。