from django.db import models from django.contrib.auth.models import User, AbstractUser class UserInfo(AbstractUser): #AUTH_USER_MODEL = 'app01.UserInfo' 去数据库中看 phone = models.CharField(max_length=11) addr = models.CharField(max_length=128)
***************************************************************************************************************
from django.shortcuts import render, redirect, HttpResponse # Create your views here. from django.contrib import auth from django.contrib.auth.decorators import login_required from app01 import models def login(request): if request.method == "POST": username = request.POST.get("username") pwd = request.POST.get("password") # 如何判断用户名和密码对不对 user = auth.authenticate(username=username, password=pwd) if user: ret = user.is_authenticated() print(ret) print("-" * 120) # 将登录的用户封装到request.user auth.login(request, user) return redirect("/index/") return render(request, "login.html") @login_required #注意要在setting 里加 LOGIN_URL = "/login/" def index(request): print(request.user.username) print("=" * 120) ret = request.user.is_authenticated() print(ret) re = request.user return render(request, "index.html",{"user":re}) def logout(request): auth.logout(request) return redirect("/login/") def register(request): user_obj = models.UserInfo.objects.create_user(username="alex5", password="alexdsb") # 校验密码是否正确 ret = user_obj.check_password("alex1234") print(ret) # 修改密码 user_obj.set_password("alex3714") user_obj.save() return HttpResponse("o98k")