Django
文章平均质量分 96
本专栏将详细介绍Django框架的简单使用,分开介绍Django框架的路由层、视图层、模板层、模型层,以及Django高级、DRF框架、JWT等等。
阿煜酱~
间歇性踌躇满志,持续性好吃懒做。
展开
-
Django-16:rest-framework与jwt
Django_Rest_Framework是一个建立在Django基础上的Web应用开发框架,可以快速的开发REST API接口的应用。在REST Framework中,提供了序列化器Serializer的定义,可以帮助我们简化序列化和反序列化的过程,不仅如此,还提供了丰富的类视图、扩展类、视图集来简化视图的编写工作。REST Framework还提供了认证、权限、分流、过滤、分页、接口文档等功能支持。REST framework提供了一个API的Web可视化洁面来方便查看测试接口。原创 2023-02-19 03:35:03 · 938 阅读 · 1 评论 -
Django-15:BBS项目及知识点补充
注:由于篇幅和时间等问题,该项目并未完结,且很多地方并没有说的很详细,注释也不多。所以本章节作为一些知识点补充就好,如:图片字段 、 自关联 、 admin后台、图片验证码 、media配置 、头像实时展示 等等…表关系图:在本项目中,是采用了保存在本地的方式,先看个效果,后续再介绍更加合理的解决方案。1.1.2 自关联常用于评论等场景中以上面注释为例,就是表示user_id为2的用户,给article_id为1的文章,发表了一条评论,该评论的父级是表中id为1的那一条评论,说明是回复的评论原创 2023-02-19 03:30:11 · 569 阅读 · 0 评论 -
Django-14:auth认证模块
当我们书写了自己的表,代替了auth_user,那么auth模块的功能还是可以照常使用,但是auth_user表不需要导入,改为了自定义的表,并且在使用auth模块的功能时,原本是User的都需要改成自己的表,如:“UserInfo”可以看到,authenticate方法的返回值就是登陆用户的数据对象,可以通过“.字段名”的形式,来获取该对象的信息,比如用户名和密码,当然了密码还是加密的。**作用:**用于修改auth_user表中的密码,前者用于修改,后者用于操作数据库完成最终的修改操作。原创 2023-02-19 03:22:54 · 1163 阅读 · 0 评论 -
Django-13:django中间件
研究django中间件代码规律class SessionMiddleware(MiddlewareMixin) : def process_request(self , request) : '''略''' def process_response(self , request , response) : return response。原创 2023-02-19 03:20:47 · 851 阅读 · 0 评论 -
Django-12:cookie与session
发展史:早期的网站都是没有保存用户功能的需求,所有用户访问返回的结果都是一样的,如:新闻、博客后面出现了一些需要保存用户信息的网站,如:社交平台、电商平台。以登陆功能为例: 如果不保存用户登陆状态,也就意味着用户每次访问网站都需要重复的输入用户名和密码,非常麻烦。早期的解决方案:当用户第一次登陆成功之后,将用户的用户名密码返回给用户浏览器,让用户浏览器保存在本地。之后访问网站的时候浏览器自动将保存在浏览器上的用户名和密码发送给服务端,服务端获取之后自动验证。缺点:存在很大的安全隐患。原创 2023-02-19 03:16:44 · 511 阅读 · 0 评论 -
Django-11:Forms组件
在2.2章节中,实现了错误信息提示,但是却是英文的,给用户的体验不好,所以我们需要自定义提示信息。对于继承forms.Form类(如案例中的TestForm)的属性,添加class TestForm(forms . Form) : username = forms . CharField(min_length = 3 , max_length = 8 , label = '用户名' , error_messages = {原创 2023-02-19 03:13:43 · 694 阅读 · 0 评论 -
Django-10:django前后端交互
上述的批量插入,可能会造成数据渲染时的一个问题,那就是页面上不能一次性展示那么多,所以需要分页展示。django内置的有分页器,但是效果不太好,而且使用起来也没那么好用,所以官网又提供了模块,供我们来拷贝使用。当我们需要使用到非django内置的第三方功能或者组件代码的时候,我们一般情况下会在项目的根目录下,创建一个名为utils文件夹,在该文件夹内对模块进行功能性,创建不同的目录进行划分。所以自定义分页器做好在新建的utils文件夹下。封装分页相关数据。原创 2023-02-18 03:09:01 · 1450 阅读 · 0 评论 -
Django-9:django模型层ORM-5
在django2.x及以上的版本中,默认不再级联更新删除,因为该操作比较危险,删除一个出版社,该出版社连带的所有图书全部也删除,这是很恐怖的,所以后续需要指定,是否进行操作。但是这个时候就会遇到一个问题,那就当执行数据库迁移命令的时候,会连同这张表一并创建到数据库,当不需要数据库新建出表的时候,就可以使用到。如:新增图书,绑定出版社外键为1000的,但是id=1000的出版社并不存在,那么这个时候数据会插入不进去。在没有断开关联的时候,插入一条数据时,如果外键绑定的那条数据并不存在,那么会插入不进去。原创 2023-02-18 03:05:36 · 566 阅读 · 0 评论 -
Django-8:django模型层ORM-4
后端先对前端需要用到的数据进行查找,后续再对POST提交过来的数据进行简单的校验,随后利用ORM对数据进行新增,以及绑定关系。作者表单考虑到作者那么多,如果还是挨个去选,不显示,所以采用了手动填写,只需要将每个名称之间隔开就好。详细的步骤就暂时省略,后面的代码不考虑什么优化,着重于实现效果,将前面文章的知识点串起来。前端渲染数据时,出版社表单采用select标签,可以通过滚动下拉框,选中已添加的出版社。(正则书写有bug,当是用字母隔开时,就无法区分出多个作者,本章只为看效果,优化略)原创 2023-02-18 03:01:42 · 430 阅读 · 0 评论 -
Django-7:django模型层ORM-3
附:聚合查询通常情况下都是配合分组一起使用的(分组在下一节)只要是跟数据库相关的模块,基本上都在django.db.models里面,如果上述没有那么应该在django.db里面,如聚合查询函数1.1 常用的聚合查询函数汇总一览:代码示例:(test.py文件)二、分组查询常用格式:案例-1:统计每一本书的作者个数通过给书籍分组来查询每个书籍对象所拥有的作者个数。Count(‘authors__pk’)计算出来的作者个数,由 author_num变量所接收,随后以属原创 2023-02-18 02:53:37 · 672 阅读 · 0 评论 -
Django-6:django模型层ORM-2
此时再通过,author表——虚拟字段——>authorinfo表,查询对应书籍作者的详细信息,这段也是正向查询,因为主键在author表这边。作用:返回去重之后的数据,但是去重的要求,必须是两个一模一样的数据才可以去重,如果带有主键值,那么肯定数据做不到一模一样。子查询(基于对象的跨表查询),最后可以拿到的是数据对象,有了对象可以通过调用方法,来获取该对象的其他数据。此时,我们的表里面以及有了一些基本的内容了,但是并没有真正的建立关联,最明显的,外键字段都是空。原创 2023-02-18 02:45:52 · 362 阅读 · 0 评论 -
Django-5:django路由层
路由层有名分组与无名分组相同点: 都是将括号内的正则表达式,所匹配到的内容,当做位置参数或者关键字,传给后面的视图函数。不同点: 无名分组没有具体的名字,作为视图函数中的形参时,可做任意名字,如‘XXX’。有名分组,如,就必须是user。无名有名不可以混用但可以同时有多个无名或有名参数。原创 2023-02-18 02:42:40 · 1259 阅读 · 0 评论 -
Django-4:django模型层ORM-1
一、id字段:表示创建的字段为自增字段primary_key : 表示是否为主键,值为True表示设置主键二、username字段: 表示创建的该字段,在插入数据时的数据类型必须为char。CharField在调用时有一个必传参数max_length,不然会报错max_length参数表示最多不超过多少char(字节)三、password字段: 表示创建的该字段,在插入数据时的数据类型必须为int。四、其他补充补充。原创 2023-02-18 02:40:58 · 405 阅读 · 0 评论 -
Django-3:django视图层与模板层
django框架分为多个区域,本章节将着重将介绍其中的视图层和模板层,如:视图层主要做业务逻辑处理,模板层主要做前端页面等,以及如何去完成一个建议的web页面。原创 2023-02-18 02:41:11 · 717 阅读 · 0 评论 -
Django-2:django静态文件配置
django可通过静态文件配置,来实现CSS、JS、images等静态资源的访问,本章节就来介绍为什么要配置、如何配置,静态配置的动态解析。原创 2023-02-18 02:37:46 · 3030 阅读 · 0 评论 -
Django-1:django初识
本专栏后续分为15个阶段介绍django初级到高级,第16章节为drf框架+jwt。本专栏大体一览:(下列排序不分先后)django的安装及简单使用路由层视图层模型层模板层auth模块drf框架jwt文章中很多地方的注释,以及用词等不准确请见谅。原创 2023-02-18 02:34:27 · 520 阅读 · 0 评论