python - 用户身份验证 is_active 错误标志在 Django 中不起作用
问题描述
我在views.py中使用is_active标志等于false,所以非超级用户也可以登录,但这不起作用。只有超级用户才能登录。
这里有一些代码
登录逻辑视图:
def logingin(request):
if request.method == 'POST':
username = request.POST.get('username','')
password = request.POST.get('password','')
user = auth.authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect('/')
else:
return redirect('/signup')
return render(request, 'login.html')
注册逻辑视图
def signup(request):
if request.method == 'POST':
user_name = request.POST.get('user_name','')
first_name = request.POST.get('first_name','')
last_name = request.POST.get('last_name','')
email = request.POST.get('email','')
password = request.POST.get('password','')
if User.objects.filter(email=email).exists():
messages.error(request, 'E-Mail Already Exist Please Use Different Email')
else:
user = User.objects.create_user(user_name, email, password)
user.is_active = False
user.first_name = first_name
user.last_name = last_name
user.save()
return render(request, 'signup.html')
我希望所有用户都可以通过
解决方案
根据定义,该is_active
标志用于阻止用户登录。如果您希望所有用户都能登录,请不要将其设置为 false。
推荐阅读
- r - highcharter:如何使用 hcaes 函数制作分组图
- highcharts - highcharts 中的饼图数量
- javascript - 使用编辑器的简码在网站上创建大型工具提示词汇表?jQuery 是正确的解决方案吗?
- java - -> 和 是什么?运算符在 Kotlin 中是什么意思?
- reactjs - React-leaflet:如何更新标记位置?
- python - 有没有办法按字典顺序对目录中的文件进行排序?
- javascript - 将幻灯片动画添加到水平滚动系统
- java - 如何在 Cent OS 6 上安装 OpenJDK 8?
- python - 网页抓取奖励表
- node.js - NODEJS/SSH2 - 将 SSH 客户端重新连接到服务器失败:ADMINISTRATIVELY_PROHIBITED