小编hoa*_*oan的帖子

Django最好在views.py或模板中检查user.is_authenticated吗?

我有一个主页,我想在用户未登录时显示登录表单,或者如果他/她已登录则显示属于该用户的项目列表.

到目前为止,我想出了两种方法:

  1. 检查用户是否在views.py中进行了身份验证并呈现相应的视图(在我的views.py中):

    if request.user.is_authenticated():
        return render(request, 'items.html')
    else
        return render(request, 'login.html')
    
    Run Code Online (Sandbox Code Playgroud)
  2. 直接检查模板并为每个案例生成相应的HTML(在我的index.html中):

    {% if user.is_authenticated %}
        HTML for my items list
    {% else %}
        HTML for my login form
    {% endif %}
    
    Run Code Online (Sandbox Code Playgroud)

那么哪种方法更适合处理这个?这些方法的性能差异很大吗?我们应该在views.py或模板本身处理这些标准吗?

python django model-view-controller django-templates

6
推荐指数
1
解决办法
3899
查看次数