在我的django項目中,我必須創建一些靜態頁面,如幫助頁面,關於我們頁面,常見問題頁面等,並且我需要用戶名出現在某處在這些頁面上,但由於它們是通用視圖調用的,所以我不知道如何將變量發送到模板,當它涉及通用視圖時。如何將變量發送到通用視圖調用的模板
在此先感謝。
在我的django項目中,我必須創建一些靜態頁面,如幫助頁面,關於我們頁面,常見問題頁面等,並且我需要用戶名出現在某處在這些頁面上,但由於它們是通用視圖調用的,所以我不知道如何將變量發送到模板,當它涉及通用視圖時。如何將變量發送到通用視圖調用的模板
在此先感謝。
在這種情況下,如果您使用djangos身份驗證系統,則不需要將用戶名傳遞給模板。您可以訪問模板中的request.user。看看這裏How to access the user profile in a Django template?。無論如何,如果你想將其他變量傳遞給通用視圖,請看這裏How to pass parameters to django generic views。
查看@Jingo說的帖子,如果你想在通用視圖中添加一些變量,只需覆蓋'get_context_data'函數。
class ExampleView(TemplateView): # Or another generic view
template_name = "example.html"
def get_context_data(self, **kwargs):
context = super(ExampleView, self).get_context_data(**kwargs)
#If you dont call 'super', you wont have the context processor varibles
# like 'user'
context['var_name'] = "var content" # you can add template variables!
return context # dont forget to return it!
我認爲你的問題已經在這裏找到答案: [http://stackoverflow.com/questions/7470539/passing-request-user-to-template-in-django][1] [1]:http://stackoverflow.com/questions/7470539/passing-request-user-to-template-in-django – AgileDeveloper