Django仅使用电子邮件创建用户并设置为非活动状态

时间:2017-09-10 14:29:54

标签: django django-forms django-templates django-rest-framework django-views

在我的应用中,我有3种具有不同权限的用户。人力资源,员工和候选人。

我希望能够创建一个仅提供其电子邮件的用户员工并将其设置为非活动状态当员工登录应用程序时,他会设置他的名字,姓氏和密码,并在应用程序上变为活动状态

我在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})

你能帮助我或指导潜水吗? 谢谢你;)

1 个答案:

答案 0 :(得分:0)

要激活/停用用户,您可以使用:

user.is_active = False/True

为了创建用户,我推荐以下文章:

https://medium.com/@ramykhuffash/django-authentication-with-just-an-email-and-password-no-username-required-33e47976b517