视图中的 Django 身份验证和重定向与模板中的重定向

问题描述 投票:0回答:1

我正在使用 django 进行网络项目

我不想为未经身份验证的用户呈现一个页面,为经过身份验证的用户呈现一个页面。

在我看来直接定义这个是不是更好:

def get(self, request, *args, **kwargs):
    if not request.user.is_authenticated:
        return render (request, 'unauthenticated.html')
    else:
        return render (request, 'authenticated.html')

或者只使用一个视图,但将它们植根于我的模板中:

def get(self, request, *args, **kwargs):
    return render (request, 'index.html')
<!-- index.html -->
{% if not user.is_authenticated %}
    {% include "unauthenticated.html" %}
{% else %}
    {% include "authenticated.html" %}
{% endif%}

(我的问题是关于安全性和实施的)

python django django-views django-templates
1个回答
0
投票

最好在视图内使用身份验证逻辑而不是模板。我想说第一个实现是最好的

© www.soinside.com 2019 - 2024. All rights reserved.