关于Django auth注册登录模块的具体使用

 1 from django.urls import path
 2 from . import views
 3   
 4 urlpatterns = [
 5   #主页,用来显示类别等其他数据
 6   path('',views.index),
 7   # 登录
 8   path('tologin/',views.tologin),
 9   # 注册
10   path('register/',views.register),
11   # 注销
12   path('lagout/',views.lagout),
13 ]
urls.py
 1 from django.shortcuts import render, redirect
 2 from django.http import HttpResponseRedirect
 3 from django.contrib.auth.models import User
 4 from django.contrib.auth import authenticate,login,logout
 5 from django.contrib.auth.models import AnonymousUser
 6   
 7 # Create your views here.
 8 # 主页
 9 def index(request,):
10   username = request.user
11   return render(request,'Myapp/index.html',locals())
12   
13 # 登录
14 def tologin(request):
15   if request.method == 'POST' and request.POST:
16     data = request.POST
17     username = data.get('username')
18     password = data.get('password')
19     n = authenticate(username=username,password=password)
20     if n:
21       # 登陆成功即可获取当前登录用户,返回主页
22       login(request,user=n)
23       return redirect('/')
24   # 失败重定向到登录页
25   return render(request, 'myApp/login.html')
26   
27 # 注册
28 def register(request):
29   if request.method == 'POST' and request.POST:
30     data = request.POST
31     username = data.get("username")
32     password = data.get("password")
33     # 校验注册,名字不可重复
34     u = User.objects.filter(username=username).first()
35     if u:
36       info = '该用户名已被注册'
37       return render(request,'Myapp/ERROR.html',{'info':info})
38     else:
39       # 注册成功,创建用户
40       User.objects.create_user(
41         username=username,
42         password=password
43       )
44       # 重定向到登录页面
45       return HttpResponseRedirect('/tologin/')
46   # 注册失败,重新注册
47   return render(request,'Myapp/register.html')
48   
49 def lagout(request):
50   logout(request)
51   return redirect('/')
views.py
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值