在django app中添加启动单独的页面

时间:2015-03-11 16:00:43

标签: python django templates authentication

我想在我的Django应用中添加一个单独的主页。 如果用户已登录以向他显示所有内容。 如果用户未登录,则向他显示起始页面和登录链接。

解决方案基于以下代码并不总是通过考试。

{% if user.is_authenticated  %}

//Something

{% else %}

//Something

{% endif %}

我的观点:

class Start(TemplateView):
    template_name = "dashboard/start.html"

1 个答案:

答案 0 :(得分:1)

您可以覆盖视图的get_template_names()方法,并为匿名用户和已登录用户呈现不同的模板:

class Start(TemplateView):

    def get_template_names(self):
        if self.request.user.is_authenticated():
            return ['dashboard/dashboard.html']
        return ['dashboard/start.html']