Django 仅使用电子邮件创建用户并设置为非活动状态
Posted
技术标签:
【中文标题】Django 仅使用电子邮件创建用户并设置为非活动状态【英文标题】:Django Create a user using only Email and set as inactive 【发布时间】:2018-02-18 21:00:29 【问题描述】:在我的应用中,我有 3 种具有不同权限的用户。 HR、员工和候选人。
我希望能够创建一个用户员工,仅提供其电子邮件并将其设置为非活动状态当员工登录应用程序时,他设置了他的名字、姓氏和密码,并在应用程序上变得活跃
我从 django 开始,真的不知道该怎么做;
我使用文档开始了身份验证过程,然后到达:
views.py:
from django.shortcuts import render
from .forms import HRForm, CandidateForm, EmployeeForm
from django.core.urlresolvers import reverse
from django.contrib.auth.decorators import login_required
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib.auth import authenticate,login,logout
from django.contrib.auth.backends import ModelBackend
from .models import MyUser
def registerEmployee(request):
registered = False
if request.method == "POST":
Employee_form = EmployeeForm(data=request.POST)
if Employee_form.is_valid():
user = Employee_form.save()
user.set_password(user.password)
user.is_employee = True
user.save()
registered = True
else:
print("Error!")
else:
Employee_form = EmployeeForm()
return render(request,'Employee_registration_form.html',
'Employee_form':Employee_form,
'registered':registered)
你能帮我或给我指导一下吗? 谢谢你;)
【问题讨论】:
可以看这个docs.djangoproject.com/en/1.11/topics/auth/customizing 【参考方案1】:要激活/停用用户,您可以使用:
user.is_active = False/True
为了创建用户,我推荐以下文章:
https://medium.com/@ramykhuffash/django-authentication-with-just-an-email-and-password-no-username-required-33e47976b517
【讨论】:
以上是关于Django 仅使用电子邮件创建用户并设置为非活动状态的主要内容,如果未能解决你的问题,请参考以下文章