标签:dj 19 鲜生 request 用户 认证 user login 登陆
登陆路由
path('login/', views.Login.as_view(), name='login'), # 登陆
登陆视图
页面渲染,get请求
移下来
测试,页面的效果
样式的补齐
静态路径配好
主要用到的技术点
》在模板页导入静态的配置
{% load staticfiles %}
》利用静态配置拼接路径,例如
{% static 'css/reset.css' %}
》弄好后的效果
http://127.0.0.1:8000/user/login/
post请求开始
前端表单的相关修改和关注
post请求
关注控件的name值
post提交,需要加上csrf token
视图收数据
认证用户的登陆 1.x版本
直接使用django自带的认证体系
1.x版本的认证
用户认证2.x版本
在1.x的认证基础上,还需要在配置中加上一段代码
# 认证不自动关联数据库的is_active
AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.AllowAllUsersModelBackend']
测试认证的效果
结果
登陆的细节处理
用户认证成功的情况
用户认证失败的情况
完整 的代码
# /user/login
class LoginView(View):
def get(self, request):
# 渲染页面
return render(request, "login.html")
def post(self, request):
# 用户登陆
# 1,接收数据
username = request.POST.get("username")
password = request.POST.get("password")
print(username)
print(password)
# 2,校验数据
from django.contrib.auth import authenticate
user = authenticate(username=username, password=password)
# 如果用户验证成功
if user is not None:
print('user, is active', user, user.is_active)
# 如果用户已激活
if user.is_active:
# 3,登陆逻辑
print('登陆用户')
from django.contrib.auth import login
login(request, user)
print('页面跳转')
return redirect(reverse("goods:index"))
# 用户未激活
else:
return render(request, "login.html", {"errmsg":"用户未激活"})
# 如果用户验证不成功
else:
return render(request, "login.html", {"errmsg": "用户名或者密码错误"})
标签:dj,19,鲜生,request,用户,认证,user,login,登陆 来源: https://blog.csdn.net/ifubing/article/details/101372732
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。