2013-06-29 3 views
1

В моем проекте django мне пришлось создать некоторые статические страницы, такие как страница справки, страница о нас, страница faq и т. Д., И мне нужно, чтобы имя пользователя появилось где-то на этих страницах, но поскольку они вызываются общими представлениями, я не знаю, как отправлять переменные в шаблоны, когда речь идет о общих представлениях.как отправить переменную в шаблон, вызванный общим представлением

Заранее спасибо.

+0

Я думаю, что ваш вопрос уже здесь ответили: [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

ответ

2

В этом случае нет необходимости передавать имя пользователя шаблону, если вы используете систему djangos auth. Вы можете получить доступ к request.user в своем шаблоне. Посмотрите здесь How to access the user profile in a Django template?. В любом случае, если вы хотите передать дополнительные переменные в общий вид, посмотрите здесь How to pass parameters to django generic views.

2

См. Сообщение, которое @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! 

 Смежные вопросы

  • Нет связанных вопросов^_^