Python 如何正确配置身份验证视图?(Django)
有两个视图index和index1,我的登录视图是Python 如何正确配置身份验证视图?(Django),python,django,django-views,django-authentication,Python,Django,Django Views,Django Authentication,有两个视图index和index1,我的登录视图是 def loginview(request): if request.user.is_authenticated: return redirect('index') else: return redirect('index2') url.py urlpatterns = [ path('',loginview,name="login"), path
def loginview(request):
if request.user.is_authenticated:
return redirect('index')
else:
return redirect('index2')
url.py
urlpatterns = [
path('',loginview,name="login"),
path('index/',index,name="index"),
path('index2/',index2,name="index2"),
]
代码可以工作,但我只想在用户登录或注销后访问index和index2
当我导航到localhost:8000/index和localhost:8000/index2时,页面将指向相应的页面
如何限制这些页面上的授权?您可以在django基本用户类定义上添加一个标志,以创建一个状态来控制此问题
from django.contrib.auth.models import AbstractUser
from django.db import models
class CustomUser(AbstractUser):
# other User definitions
index_page = models.CharField(max_length = 12)
然后,当您调用loginview时,您可以确定用户进一步请求的索引页。在登录时签出Django的文档:,您可以添加一个装饰器