我想在我的Django应用中添加一个单独的主页。 如果用户已登录以向他显示所有内容。 如果用户未登录,则向他显示起始页面和登录链接。
解决方案基于以下代码并不总是通过考试。
{% if user.is_authenticated %}
//Something
{% else %}
//Something
{% endif %}
我的观点:
class Start(TemplateView):
template_name = "dashboard/start.html"
答案 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']