在 Django 应用程序中添加开始单独的页面

Adding start separate page in django app

我想在我的 Django 应用程序中添加一个单独的主页。 如果一个用户登录了就向他展示所有的内容。 如果用户未登录,则向他显示起始页和 link 登录。

解决方法是根据下面的代码并不总是能通过考试。

{% if user.is_authenticated  %}

//Something

{% else %}

//Something

{% endif %}

我的看法:

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

您可以覆盖视图的 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']