Django进阶-auth集成认证模块

  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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值