我正在使用 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%}
(我的问题是关于安全性和实施的)
最好在视图内使用身份验证逻辑而不是模板。我想说第一个实现是最好的