zoukankan      html  css  js  c++  java
  • django自带的登录验证功能

    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)  # 类型为<class 'django.contrib.auth.models.User'>
    
            # print(type(models.Customer.objects.get(name="赵凡")))
            # print(user,type(user))
            if user:
    
                login(request,user)  # 验证成功之后登录
                return  redirect('/crm')
    
        return render(request, "login.html")
    
    
    def acc_logout(request):
    
        logout(request)  # 登出
    
        return redirect("/login")
    

    必须登录之后才能访问页面

    from django.contrib.auth.decorators import login_required
    
    @login_required  # 加上这个装饰器就是限制必须登录才能执行这个函数
    def dashboard(request):
        print(request.user)
    
        return render(request, "crm1/dashboard.html")
    

    如果加了@login_required,页面跳转会有问题,解决方法如下

    在setting里追加一下内容/login/跟URL是一致的

    LOGIN_URL = "/login/"
  • 相关阅读:
    开发mis系统的技术
    Navicat软件与pymysql模块
    5.6作业
    mysql表的查询
    5.5作业
    约束条件
    mysql基本数据类型
    数据库
    网络编程项目
    并发编程四
  • 原文地址:https://www.cnblogs.com/wspblog/p/6634262.html
Copyright © 2011-2022 走看看