栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django

1.注册功能完成

发现其实昨天已经完成了 我以为得多个超时验证 结果事实是如果cache.get(email)里的内容已超时 返回的是None。所以只需要把输入的值直接拿来和get到的值比较即可。

还有一开始比较的时候 一直返回的是不匹配 后来我打印了两个值比较 也都一样没毛病 但依旧返回不匹配。我再打印他俩的数据类型 发现缓存里存的是int类型 而POST过来的数据是str类型 就强转成int类型 就过了 跳转到/login/登录页面 还没写 也表明注册功能也完成了。

还有就是一开始缓存保存的时间有时区问题 因为我们在东八区 存入的时间比当前时间少了8小时。百度了一下 为了让存入缓存的时间与我们当前时区时间一致。在settings.py中修改USE_TZ配置 原本默认是True。

USE_TZ False
2.今日真正的任务 做登录页面

很尴尬的是我实在懒得思考 继承同一个模板又怕样式冲突 我决定接下来采用多打代码少思考的方式完成接下来的内容。无非就是多复制粘贴 嘿嘿。

行吧也没那么懒 继承也没要多思考多少 无非就是样式问题 等我把登录写完再采用上面的方式。

3.登录页面

点击首页的登录按钮 或者注册成功后会跳转到登录页面

首先 先创建一个login.html 再配置路由 再写个视图函数 这三步骤是起一个页面最首要的操作 login.html依旧继承母版。效果如上图。验证码是用PIL写的 参考自武sir的Django实战
其实很多都是在他这边学边模仿的。所以直接看视频好了 我自己都不太明白。登录表单依旧是借助新的Form表单生成的。写得很空洞 上点知识点和今天遇到的问题吧 4.用到的知识点 浏览器会自带一些表单验证 自己写的验证可能被覆盖掉 所以再Form表单加一个属性novalidate
 form action /xx/ method post novalidate 
 form 
Django的models.xxField.objects.filter 无法做或查询 得引入Q。因为filter取到的是一个Queryset对象 所以得加个.first()取里面第一个才是要的数据。
from django.db.models import Q
models.User.objects.filter(Q(phone phone_or_email) | Q(email phone_or_email)).filter(password password).first()
url重定向 redirect(’’)加路由
from django.shortcuts import redirect
 return redirect( / )
说到redirect就得说一个路由问题

今天实践了才算真的清楚了
例如我现在所在的url是127.0.0.1/login/

我重定向redirect(‘index’) 注意这里前面没有斜杠
则我重定向到的地址是 127.0.0.1/login/index

如果我重定向redirect(’/index’) 这里前面有斜杠
则我重定向到的地址是127.0.0.1/index

django设置session
request.session[ image_code ] code # session的key是 image_code ,值是code代表的值。
request.session.set_expiry(60) # 主动设置session超时时间 默认2周
form表单拿到session值 从武sir那学来的
 def __init__(self, request, *args, **kwargs):
 super().__init__(*args, **kwargs)
 self.request request

就是把request当作参数传进来了 这样每次实例化一个对象就都可以获取request里的值 并且不影响它本来的功能

form LoginForm(request)
form LoginForm(request, data request.POST)
5.注册与登录功能就完成啦

结合理论知识 学 和实战经验 做 感觉收获更多也更快。

6.有时间把代码的注释尽量都补上 毕竟离答辩还有很长的时间 怕赶不上遗忘速度。 没边写注释的习惯
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/266796.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号