python之路56 dajngo最后一天 csrf跨站请求 auth模块登录注册方法
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:30
from django.contrib import auth
from django.contrib.auth.models import User
1.用户注册功能
def register_func(request):
if request.method == 'POST':<br/>
username = request.POST.get('username')<br/>
password = request.POST.get('password')<br/>
# 1.校验用户是否存在<br/>
# res = auth.authenticate(request,username=username,此处缺密码) 必须把密码也传进去<br/>
# print(res)<br/>
res = User.objects.filter(username=username)<br/>
if res:<br/>
return HttpResponse('用户名已存在')<br/>
# 2.注册该用户<br/>
# User.objects.create(username=username,password=password) # create方法不可以使用 密码不加密<br/>
User.objects.create_user(username=username,password=password) # 正常创建 对密码加密<br/>
return render(request,'registerPage.html')<br/>
2.判断用户名和密码是否正确
def login_func(request):
print(request.user)<br/>
print(request.user.is_authenticated) # 判断当前用户对象是否已登录<br/>
if request.method == 'POST':<br/>
username = request.POST.get('username')<br/>
password = request.POST.get('password')<br/>
# 1.校验用户名和密码是否正确(不分开校验) 自己无法比对密码 必须要使用auth模块提供的方法才可以<br/>
user_obj = auth.authenticate(request,username=username,password=password) # 得到用户对象<br/>
# print(user_obj.password)<br/>
if user_obj:<br/>
# 2.用户登录成功(返回给客户端登录成功的凭证、令牌、随机字符串)<br/>
auth.login(request,user_obj) # 自己操作django_session表<br/>
'''<br/>
当执行完上述的操作之后我们就可以通过request.user直接获取到当前登录的用户对象数据<br/>
'''<br/>
return HttpResponse('登录成功!!!')
return render(request,‘loginPage.html’)
3.判断用户是否登录
request.user.is_authenticated<br/>
4.获取登录用户对象数据
request.user<br/>
5.校验用户是否登录装饰器
from django.contrib.auth.decorators import login_required
@login_required(login_url=‘/login/’) # 可以明确指定用户没有登录之后跳转到那个地址 局部配置
@login_required # 在settings添加 LOGIN_URL = ‘/login/’ 全局配置
def index_func(request):
return HttpResponse('index页面,只有登录的用户才可以查看')<br/>
6.校验原密码是否正确
request.user.check_password(原密码)
7.修改密码
request.user.set_password(新密码)
request.user.save() # 一定要保存
8.退出登录
auth.logout(request)
相关文章
-
python之路56 django最后一天 csrf跨站请求 auth模块登录注册方法
python之路56 django最后一天 csrf跨站请求 auth模块登录注册方法
- 互联网
- 2026年04月04日
-
python之路——基础篇(2)模块
python之路——基础篇(2)模块
- 互联网
- 2026年04月04日
-
Python之文件读写
Python之文件读写
- 互联网
- 2026年04月04日
-
Python之路3【知识点】白话Python编码和文件操作
Python之路3【知识点】白话Python编码和文件操作
- 互联网
- 2026年04月04日
-
python之类介绍
python之类介绍
- 互联网
- 2026年04月04日
-
Python之Scrapy爬虫框架安装及简单使用
Python之Scrapy爬虫框架安装及简单使用
- 互联网
- 2026年04月04日





