随笔分类 - Django
摘要:csrf跨站请求伪造 钓鱼网站:模仿一个正规的网站 让用户在该网站上做操作 但是操作的结果会影响到用户正常的网站账户,但是其中有一些猫腻 eg:英语四六级考试需要网上先缴费,但是你会发现卡里的钱扣了但是却交到了一个莫名其妙的账户,并不是真正的四六级官方账户 模拟钓鱼网站案例:转账案例 真实网站: u
阅读全文
摘要:cookie与session简介 """ 回忆:HTTP协议四大特性 1.基于请求响应 2.基于TCP、IP作用于应用层之上的协议 3.无状态 不保存客户端的状态 4.无连接 """ 最开始的网站都不需要用户注册 所有人来访问获取到的数据都是一样的 随着互联网的发展很多网站需要指定当前用户的状态 c
阅读全文
摘要:forms组件数据校验 小需求:获取用户数据并发送给后端校验 后端返回不符合校验规则的提示信息 form组件 1.自动校验数据 2.自动生成标签 3.自动展示信息 from django import forms class MyForm(forms.Form): username = forms.
阅读全文
摘要:django内置序列化组件(drf前身) urls.py: # 序列化组件 path('ab_ser/',views.ab_ser), views.py: '''前后端分离的项目 视图函数只需要返回json格式的数据即可''' from app01 import models from django
阅读全文
摘要:ORM查询优化 1.ORM的查询默认都是惰性处理 惰性处理:如果只是书写了orm语句,在后面根本没有用到该语句所查询出来的参数,那么orm会自动识别出来,直接不执行。 举例:res=models.Book.objects.all() # 这时orm是不会走数据库的 print(res) # 只有当要
阅读全文
摘要:图书管理系统 图书管理系统基础环境准备 1.pycharm新建一个django项目 2.新建一个数据库用于存储项目所需数据 create database day07 3.配置pycharm基础环境配置 1)创建static目录 2)static目录拷贝静态资源目录 3)settings.py添加t
阅读全文
摘要:ORM执行SQL语句 有时候ORM的操作效率可能偏低 我们是可以自己编写SQL的 方式一: models.User.objects.raw('select * from app01_user;') 方式二: from django.db import connection cursor = conn
阅读全文
摘要:模板层之标签 会对一个变量求值,如果它的值是“True”(存在、不为空、且不是boolean类型的false值),对应的内容块会输出。 if语句支持 and 、or、==、>、<、!=、<=、>=、in、not in、is、is not判断 {% if d1 %} 内容块 {% endif %} {
阅读全文
摘要:路由分发 django支持每个应用都可以有自己独立的路由层、静态文件、模板层。基于该特性多人开发项目就可以完全解耦合,之后利用路由分发还可以整合到一起 多个应用都有很多路由与视图函数的对应关系 这个时候可以拆分到各自的路由层中 使用路由分发之前 总路由直接干路由与视图函数的匹配 path('inde
阅读全文
摘要:可视化界面之数据增删改查 针对数据对象主键字段的获取可以使用更加方便的obj.pk获取 在模型类中定义双下__str__方法可以在数据对象被执行打印操作的时候方便查看 """ form表单中能够触发提交动作的按钮只有两个 <input type='submit'> <button></button>
阅读全文
摘要:静态文件配置 1.编写一个用户登录页面 2.静态文件 不怎么经常变化的文件 主要针对html文件所使用到的各种资源:css文件、js文件、img文件、第三方框架文件 django针对静态文件资源需要单独开设一个目录统一存放 该目录下如果各种类型的文件都很多,还可以继续创建目录 css目录 js目录
阅读全文
摘要:纯手撸web框架 1.web框架的本质 理解1:连接前端与数据库的中间介质 理解2:socket服务端 2.手写web框架 1.编写socket服务端代码 2.浏览器访问相应无效>>>:HTTP协议 3.根据网址后缀的不同获取不同的页面内容 4.想办法获取到用户输入的后缀>>>:请求数据 5.请求首
阅读全文