html登录之后注销,Django登录与注销

标签:

一:Django中自带着登录,验证功能不用自己再去写登录功能。

1、从相应模块导入组件功能

from django.contrib.auth import authenticate,login

2、从request中拿到用户名密码,验证,验证通过获取到用户对象,不通过为None。

username = request.POST.get("username")

password = request.POST.get("password")

user = authenticate(username=username,password=password)

3、通过之后登录用户,涉及到session操作

if user:

# 登录,此时生成了session

login(request,user)

return redirect("/crm/")

else:

print("no pass")

二:Django中自带注销用户功能。

1、注销标签

注销

{% url 'logout' %} 表示url中名字为logout的,即name='logout'

2、注销view函数

from django.contrib.auth import authenticate,login,logout

def acc_logout(request):

logout(request) # 注销

return redirect("/login/") # 页面跳转

三:登录时用户名或者密码出错时,显示错误提示信息:

1、前端页面

{{ error_msg }}

2、后台处理,加上错误信息

error_msg = '' # 正确时

error_msg = 'Wrong username or password!'

print(username,password)

return render(request,"login.html",{"error_msg":error_msg})# 错误时

四:没有登录时,不能进入主页面,只能跳转到登录页面

具体的哪个视图函数需要,加在哪个视图函数上

from django.contrib.auth.decorators import login_required

@login_required

def dashboard(request):

return render(request,"crmapp/dashboard.html")

这样没有登录,直接访问连接到该视图函数的url时,会跳转到Django自带的登录页面。

需要在settings中配置,

LOGIN_URL = '/login/'

注意url中的next参数:http://127.0.0.1:8080/login/?next=/crm/,表示登录成功后跳转到哪个页面。

标签:

来源: https://www.cnblogs.com/zjsthunder/p/10200815.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值