![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Django框架
文章平均质量分 63
Sophie Marceau
chasing after my dreams
展开
-
Auth认证模块
本文目录回到目录Auth模块是Django自带的用户认证模块:我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能,这还真是个麻烦的事情呢。Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点。它内置了强大的用户认证系统--auth,它默认使用 auth_user 表来存储用户数据。authenticate()提供了用户认证功能,即验证用户名以及密码是否正确,一般需要username 、passwor原创 2022-06-04 20:35:16 · 2638 阅读 · 1 评论 -
Django内置的序列化与分页器
Django内置分页内置view部分 内置分页html部分原创 2022-06-04 16:58:54 · 276 阅读 · 1 评论 -
csrf跨站请求
钓鱼网站 我搭建一个跟正规网站一模一样的界面(中国银行) 用户不小心进入到了我们的网站,用户给某个人打钱 打钱的操作确确实实是提交给了中国银行的系统,用户的钱也确确实实减少了 但是唯一不同的时候打钱的账户不适用户想要打的账户变成了一个莫名其妙的账户内部本质 我们在钓鱼网站的页面 针对对方账户 只给用户提供一个没有name属性的普通input框 然后我们在内部隐藏一个已经写好name和value的input框如何规避上述问题 csrf跨站请求伪造校验原创 2022-06-04 16:49:47 · 299 阅读 · 0 评论 -
Django中间件
在前面的博客中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面。我们通过给几个特定视图函数加装饰器实现了这个需求。但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐。下面的内容即将让我们通过一些特点的方式实现控制全局的效果,运筹帷幄于室内(室外太热~~~)官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。但是由于其影响原创 2022-06-04 16:39:50 · 337 阅读 · 0 评论 -
Cookie与Session
大家都知道HTTP协议是无状态的。无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全新的。状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留。会话中产生的数据又是我们需要保存的,也就是说要“保持状态”。因此Cookie就是在这样一个场景下诞生。Cookie具体指的是一段小信息,它是服务器发送出来存原创 2022-06-04 16:16:42 · 136 阅读 · 1 评论 -
Forms组件
我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。Django form组件就实现了上面所述的功能。总结一下,其实form组件的主要功能如下:校验数据渲染标签展示提示信息钩子函数(HOOK)forms组件其他参数及补充知识点原创 2022-06-04 16:00:21 · 321 阅读 · 0 评论 -
自定义分页器
针对上一小节批量插入的数据,我们在前端展示的时候发现一个很严重的问题,一页展示了所有的数据,数据量太大,查看不方便针对数据量大但又需要全部展示给用户观看的情况下,我们统一做法都是做分页处理首先我们需要明确的时候,get请求也是可以携带参数的,所以我们在朝后端发送查看数据的同时可以携带一个参数告诉后端我们想看第几页的数据其次我们还需要知道一个点,queryset对象是支持索引取值和切片操作的,但是不支持负数索引情况接下来我们就可以推导我们的自定义分页器步骤了当我问你下面几个问题的时候,你的内心肯定是鄙视原创 2022-06-04 15:38:25 · 587 阅读 · 0 评论 -
Django与Ajax
* JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。啥都别多说了,上图吧!合格的json对象(json只认双引的字符串格式):不合格的json对象:stringify与parse方法JavaScript中关于JSON对象和字符串转换的两个方法:JSON.parse(): 用于将一个 JSON 字符串转换为 JavaScript 对象(json只认双引的字符串格式)JSON.strin原创 2022-06-04 15:32:24 · 165 阅读 · 1 评论 -
多对多三种创建方式
多对多表的三种创建方式原创 2022-06-04 15:05:37 · 87 阅读 · 0 评论 -
choices参数(数据库字段设计常见)
chocies参数使用场景是非常广泛的,直接上代码原创 2022-06-04 15:03:35 · 332 阅读 · 0 评论 -
批量插入数据
项目需求:浏览器中访问django后端某一条url(如:127.0.0.1:8080/index/),实时朝数据库中生成一千条数据并将生成的数据查询出来,并展示到前端页面urls.pymodels.pyviews.pytemplate/get_book.html上述代码书写完毕后启动django后端,浏览器访问,会发现浏览器会有一个明显的卡顿等待时间,这不是你的浏览器有问题也不是网速有问题,而是后端再不停的操作数据库,耗时较长,大概需要等待一段时间之后才能正常看到刚刚插入的1000条原创 2022-06-03 23:36:53 · 324 阅读 · 0 评论 -
Django ORM中常用字段和参数及多种查询
int自增列,必须填入参数 primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。一个整数类型,范围在 -2147483648 to 2147483647。(一般不用它来存手机号(位数也不够),直接用字符串存,)字符类型,必须提供max_length参数, max_length表示字符长度。这里需要知道的是Django中的CharField对应的MySQL数据库中的varchar类型,没有设置对应char类型的字段,但是Django允许我们自定义新的字段,下面我来自原创 2022-06-03 23:34:39 · 1468 阅读 · 1 评论 -
Django ORM神奇双下划线查询
复习一下之前的单表操作的数据的增删改查必知必会13条操作下面的操作之前,我们实现创建好了数据表,这里主要演示下面的操作,不再细讲创建准备过程 all(): 查询所有结果 filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。 exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象 values(*f...原创 2022-06-03 22:52:39 · 548 阅读 · 0 评论 -
模版层 --Django模板系统
官方文档只需要记两种特殊符号:{{ }}和 {% %}变量相关的用{{}},逻辑相关的用{%%}。在Django的模板语言中按此语法使用:{{ 变量名 }}。当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身。 变量的命名包括任何字母数字以及下划线 ("_")的组合。 变量名称中不能有空格或标点符号。点(.)在模板语言中有特殊的含义。当模版系统遇到点("."),它将以这样的顺序查询:字典查询(Dictionary lookup)属性或方法查询(Attribute or method loo原创 2022-06-03 21:52:10 · 149 阅读 · 0 评论 -
视图层--Django的View
三板斧HttpResponse 返回字符串类型render 返回html页面 并且在返回给浏览器之前还可以给html文件传值redirect 重定向# 视图函数必须要返回一个HttpResponse对象 研究三者的源码即可得处结论JsonResponse对象json格式的数据有什么用? 前后端数据交互需要使用到json作为过渡 实现跨语言传输数据前端序列化 JSON.stringify() json.du原创 2022-06-03 21:12:24 · 264 阅读 · 0 评论 -
基本配置与数据库操作
django链接数据库(MySQL)Django ORM先了解了解,后面会讲的,先做好笔记字段的增删改查数据的增删改查django orm中如何创建表关系原创 2022-06-03 20:55:46 · 154 阅读 · 0 评论 -
有名无名分组与反向解析
有名分组无名有名是否可以混合使用反向解析无名有名分组反向解析原创 2022-06-03 20:38:07 · 127 阅读 · 0 评论 -
路由系统
Django 1.11版本 URLConf官方文档URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。注意:Django 2.0版本中的路由系统已经替换成下面的写法(官方文档): 基本配置注意事项 urlpatterns中的元素按照书写顺序从上往下逐一匹配正则表达式,一旦匹配成功则不再继续。 若要从URL中捕获一个值,只需要在它周围放置原创 2022-06-03 20:28:22 · 225 阅读 · 0 评论 -
django框架简介
django框架版本 pip3 install django==1.11.11 '''如果之前下载了其他版本不用管 自动替换!!!'''注意事项 计算机名称不要出现中文 python解释器版本不同可能会出现启动报错 项目中所有的文件名称不要出现中文原创 2022-06-03 20:08:04 · 316 阅读 · 0 评论 -
Web框架前戏
web框架本质上可以看成是一个功能强大的socket服务端,用户的浏览器可以看成是拥有可视化界面的socket客户端。两者通过网络请求实现数据交互,学者们也可以从架构层面上先简单的将Web框架看做是对前端、数据库的全方位整合已经学习了网络编程并掌握了socket套接字编程,接下来就可以自己编写出一个简易的web框架2.浏览器发送请求3.路由对应响应总结基于wsgiref模块搭建web框架1.模块封装功能2.路由对应响应3.路由拆分流程1.当有很原创 2022-06-03 19:51:58 · 82 阅读 · 0 评论