auth认证模块是Django内置集成的一个用户认证模块。
auth认证模块方法
方法 释义
auth.authenticate() 认证校验
auth.login(request,user) 封装认证了的user对象
auth.logout(request) 将session数据都删除,且cookie也失效
auth认证模块示例
from django.shortcuts import render,redirect
from django.contrib import auth
from django.contrib.auth.decorators import login_required
def login(request):
if request.method == "POST":
user = request.POST.get("username")
pwd = request.POST.get("password")
user = auth.authenticate(username=user, password=pwd)
# auth认证校验,如果校验成功返回用户名,否则返回空
if user:
auth.login(request, user)
# 封装认证了的user对象
return redirect("index.html")
return render(request, "login.html")
auth认证模块装饰器使用
装饰器,未登录认证时无法访问 index 默认跳转到指定页面,在setting中 配置LOGIN_URL = "跳转的页面名称" 如:
LOGIN_URL = "login.html"
@login_required
def index(request):
print("登录的用户是:",request.user.username)
return render(request,"index.html")
auth认证模块实例
目录架构
MyDjango
APP
html
css
images
js
static
index.html
login.html
migrations
views
index.py
MyDjango
settings.py
urls.py
wsgi.py
db.sqlite3
manage.py
配置文件
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>wellcome</title>
</head>
<body>
{% csrf_token %}
<h1>wellcome index web !!!</h1>
<a href="login.html">退出</a>
</body>
</html>
Django进阶-auth集成认证模块
最新推荐文章于 2023-02-19 03:22:54 发布