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

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

posted @   lowmanisbusy  阅读(350)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示