auth module
from django.contrib import auth
auth methods
Create a user
# Introduced auth module database
from django.contrib.auth.models import User
# Create an object
User.objects.create_user(username = username, password = password)
django create the project will produce a auth_user table,
We just added two fields, there will be a lot of default fields, and is stored encrypted password
User Authentication
# Introduction module
from django.contrib.auth import authenticate
# Generally require username password two key parameters
authenticate(username=username, password=password)
log in
from django.contrib.auth import login
# This function takes an HttpRequest object and a User object certified
login(request,user)
logout
from django.contrib.auth import logout
# When the function is called, the current request information session will clear
logout(request)
Other methods
Whether Login is_authenticated
ob = request.user.is_authenticated
print (at)
When bool return value,
(Operation) The operation of the corresponding user logs on or not done
Decorator @login_requierd
@login_required
def order(request)
用户登录才能访问order页面
修改密码 set_password()
user = User.objects.get(username='')
user.set_password(password='')
user.save
小例子:
views.py
def log(request): if request.method == 'POST': username = request.POST['name'] password = request.POST['pwd'] user = authenticate(username=username, password=password) #验证登录用户是否存在 if user: login(request,user) #登录 print(request.user) print(request.user.is_authenticated) return HttpResponse('登录成功') else: return HttpResponse('用户名或者密码不正确') return render(request,'login.html')
def regist(request):
if request.method == 'POST':
username = request.POST['name']
password = request.POST['pwd']
user = User.objects.create_user(username = username, password = password) #创建用户
return HttpResponse('注册成功')
return render(request,'regist.html')