2

在我的 django 项目中,我必须创建一些静态页面,例如帮助页面、关于我们的页面、常见问题解答页面等,并且我需要在这些页面的某处显示用户名,但由于它们是由通用视图调用的,所以我不当涉及通用视图时,不知道如何将变量发送到模板。

提前致谢。

4

2 回答 2

3

在这种情况下,如果您使用 djangos 身份验证系统,则无需将用户名传递给模板。您可以在模板中访问 request.user。看看这里如何访问 Django 模板中的用户配置文件?. 无论如何,如果您想将其他变量传递给通用视图,请查看此处如何将参数传递给 django 通用视图

于 2013-06-29T23:52:54.090 回答
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!
于 2013-06-30T02:21:03.743 回答