djangoは自己登録登録機能を実現

7234 ワード

1.django-admin startprojectxxxによってdjangoプロジェクトを作成する2.とmanageに入ります.py同級ディレクトリの下、Python manage.py startapp zzzプロジェクト3.zzzファイルの下のurlsでアクセスするルーティング
url(r'^login/',login),
url(r'^register/',regist),
viewsファイルfrom views import*4を参照するように設定.インタフェースの作成これは登録インタフェースです
def regist(req):
    if req.method == 'POST':
        uf = UserForm(req.POST)
        print("hgoahoahoasd")
        if uf.is_valid():
            #      
            username = uf.cleaned_data['username']
            password = uf.cleaned_data['password']
            # createdate=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
        #      
            yw_new_users.objects.create_user(username= username,password=password)=
        return render(req,"login.html")
    else:
        uf = UserForm()
    return render(req,"regist.html")

これはログインインタフェースです
def login(req):
    if req.method == 'POST':
        # uf = UserForm(req.POST)
        username = req.POST.get("UserName")
        password = req.POST.get("UserPswd")
        user = auth.authenticate(username = username,password = password)
        print(user)
        print("7894565")
        if user:=
            logss(username,password)=
            print(type(user))
            # for key in user:
            #     user = req.POST.get(key)[0]
            auth_login(req,user)
            return HttpResponse(json.dumps({"status":"ok","response":username}),content_type = "application/json")
        else:
            #    ,  login
            return render(req,"login.html")
    return render(req,"login.html")


5.modelsファイルの作成
from __future__ import unicode_literals
from django.db import models
from datetime import datetime
from django.contrib.auth.models import AbstractUser


# Create your models here.
#        
class yw_new_users(AbstractUser):
    Userid = models.AutoField(u'    id',primary_key=True)     
    # UserName = models.CharField(u'    ',max_length=20,default="")     
    UserTrueName = models.CharField(u'      ',max_length=20,null=True)  
    UserRoles = models.CharField(u'    ',max_length=15,null=True)     
    UserEmail = models.CharField(u'    ',max_length=100,null=True)
    UserPhone = models.CharField(u'    ',max_length=15,null=True)    
    User_Status = models.CharField(u'    ',max_length=15,null=True)           
    LastMarks = models.CharField(u'    ',max_length=100,null=True)
    HashCode = models.CharField(u'   ',max_length=50,null=True)  
    enable_flags = models.CharField(u'   ',max_length=50,null=True)
    role_code = models.CharField(u'    ',max_length=50,null=True)
    createDate = models.DateField(u'    ',null=True)                   
    updateDate = models.DateField(u'    ',null=True)                    
    createUser = models.CharField(u'    ',max_length=50,null=True)                 
    updateUser = models.CharField(u'    ',max_length=50,null=True)      

注意setting.pyファイルにはAUTH_USER_MODEL = "zzz.yw_new_users"
6を設定する必要があります.Python manageを通ります.py makemigrationsは移行ファイルを生成し、Python manage.py migrate生成データベース7.loginページ展示




8.登録画面展示