• 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/"

  • 相关阅读:
    辅助方法、模型、视图数据
    HTML.Label
    HTML辅助方法
    ViewBag与ViewData
    ASP.NET MVC4 View 指定视图
    ASP.NET MVC4 配置逻辑
    大部分基于MVC的Web框架所使用的一些基本原则
    MVC内置的验证属性
    高德地图多点标记自定义地图
    关于数组的去重
  • 原文地址:https://www.cnblogs.com/wumingxiaoyao/p/7266927.html
Copyright © 2020-2023  润新知