• django 使用其自带的验证系统 进行用户名有效性验证 登录状态验证 登入操作 登出操作


    from django.shortcuts import render, redirect
    from django.contrib.auth import authenticate, login, logout  #用户名有效性验证 登入和登出
     
    from django.contrib.auth.decorators import login_required  # 验证用户是否登录
     
    def acc_login(request):
        if request.method == "POST":
            username = request.POST.get("username")
            password = request.POST.get("password")
            user = authenticate(username=username,password=password) # 验证用户名的有效性
            if user:
                login(request,user)  # 验证成功之后登录
                return  redirect('/crm')
           return render(request, "login.html")
     
    def acc_logout(request):
        logout(request)  # 登出
        return redirect("/login")
      
    @login_required
    # 加上这个装饰器就是限制必须登录才能执行这个函数 def dashboard(request): print(request.user) return render(request, "crm1/dashboard.html")   

    如果加了@login_required,页面跳转会有问题,解决方法如下
    在setting里追加一下内容/login/跟URL是一致的

    LOGIN_URL = "/login/"

    建议将验证系统做成一个中间件,这样就不需要在所有的视图函数中进行用户的登录验证操作了,当然这里需要考虑到哪些页面是不需要用户进行登录就可以进行访问,这些都是与需求相关的了

  • 相关阅读:
    Jquery中的this是什么类型
    sorl的schema配置
    vim下常用的命令
    虚拟机克隆
    mysql突然无法连接:the driver has not received any packets from server communications link
    利用DOM的方式点击切换图片及修改文字
    javascript简易日历制作
    markdown数学公式输入指南
    Object.assign()
    引入css的方式
  • 原文地址:https://www.cnblogs.com/lowmanisbusy/p/9382478.html
Copyright © 2020-2023  润新知