Django
文章平均质量分 78
Django 是一个由 Python 编写的一个开放源代码的 Web应用框架
weer-wmq
这个作者很懒,什么都没留下…
展开
-
JWT
2、校验token的算法应该写在认证类中(在认证类中调用),全局配置给认证组件,所有视图类请求都会进行认证校验,所以请求里带了token就会反解出user用户对象,在视图类中使用request.user就能访问登录的用户。1、用账号密码访问登录接口,登录接口逻辑中调用,通过签发token的相关算法得到token,返回给客户端,客户端存到自己的cookie中。secret是保存在服务端的,jwt的签发认证也是在服务端进行。签名内容为安全信息:头的加密结果,体的加密结果,服务器保密的安全码/私钥,不可逆加密。原创 2023-11-03 16:56:09 · 222 阅读 · 0 评论 -
drf-分页,coreapi自动生成接口文档
drf-分页,coreapi自动生成接口文档原创 2023-10-24 10:34:20 · 268 阅读 · 0 评论 -
drf-过滤、排序、异常处理、自封装Response
drf-过滤、排序、异常处理、自封装Response原创 2023-10-24 10:21:15 · 250 阅读 · 0 评论 -
后端之Django-的缓存机制
对于一些动态网页,每次当用户访问时,都会去数据库增删查改,并发量大时效率低,且会消耗很多的服务器资源若我们可以把一些常用的数据信息保存在内存中或一些方式中(如memcache),一定时间内用户来访问时,就不用走数据库了,而是直接从缓存中读取数据,然后返回给用户若想要的数据在缓存中没有,再走数据库,以提高效率。原创 2023-03-31 18:37:08 · 677 阅读 · 0 评论 -
drf-认证、权限、频率组件
只有认证通过的用户才能访问指定的url地址,比如:查询课程信息,需要登录之后才能查看,没有登录,就不能查看,这时候需要用到认证组件自定义频率校验实现逻辑如下,就是要重写allow_request()和wait()两个方法,继不继承BaseThrottle都行因为Python实行的是鸭子类型(我有鸭子的两个方法特征了,我就是鸭子了),但实现的较low,3/60写的死不动态,可查看SimpleRateThrottle类的源码学习思维'''自定义的逻辑'''# (1)取出访问者ip。原创 2022-12-17 13:30:46 · 314 阅读 · 0 评论 -
DRF序列化组件
DRF(Django REST Framework)是一个建立在Django基础之上的Web应用开发框架,可以快速的开发REST API接口应用。在REST Framework中,提供了序列化器Serializer的定义,可以帮助我们简化序列化和反序列化的过程;不仅如此,还提供丰富的类视图、扩展类、视图集来简化视图的编写工作。同时,REST Framework还提供了认证、权限、限流、过滤、分页、接口文档等功能支持;还提供了一个API的Web可视化界面来方便查看测试接口。原创 2022-12-12 20:59:03 · 452 阅读 · 0 评论 -
RESTful规范
RESTful规范REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”原创 2022-12-12 17:32:13 · 264 阅读 · 0 评论 -
auth模块
在执行数据库迁移时,会创建一张auth_user表,用于管理用户信息,该表中有一字段is_superuser,用于表明是否该用户是超级用户-方法总结导入:--1.注册--2.登录校验--3.保存用户状态--4.判断是否登录--5.获取当前登录对象--6.校验是否登录装饰器--7.比对原密码--8.修改密码--9.注销-auth_user表字段扩展当我们觉得django自带的auth_user表中字段原创 2022-12-11 23:15:43 · 454 阅读 · 0 评论 -
中间件,csrf
目录-中间件--介绍--自定义中间件---方法---process_request(self, request)---process_response(self, request, response)---process_view(self, request, view_func, view_args, view_kwargs)---process_template_response(self, request, response)---process_exception(self, request, ex原创 2022-12-11 20:28:55 · 235 阅读 · 0 评论 -
cookie与session简介
大家都知道HTTP协议是无状态的。无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。一句有意思的话来描述就是人生只如初见,对服务器来说,每次的请求都是全新的。状态可以理解为客户端和服务器在某次会话中产生的数据,那无状态的就以为这些数据不会被保留。会话中产生的数据又是我们需要保存的,也就是说要“保持状态”。因此Cookie就是在这样一个场景下诞生。原创 2022-11-20 15:51:37 · 354 阅读 · 0 评论 -
forms组件
我们在前端用form标签向后端提交数据时,都会写一些获取用户输入的标签比如input等,并且很多时候都需要进行用户输入的校验,比如用户登录时需要判断是否输入以及是否合法等,然后给出相应的错误信息提示。但每次这种需求都需这样做就是反复造轮子forms组件就可以解决上述重复的需求并且更加优化,forms组件就是实现上述特定功能的功能模块。原创 2022-11-20 15:22:15 · 601 阅读 · 0 评论 -
批量插入,分页器,django自带序列化组件
前端仅仅是取book_obj.title进行全部展示原方法耗时长,迟迟加载出来后才会展示页面。原创 2022-11-07 14:26:34 · 265 阅读 · 0 评论 -
Ajax
Ajax(Asynchronous JavaScript and XML),即使用JavaScript与服务器进行异步交互,传输的数据为XMLAjax不是一门新的编程语言,而是基于现有标准实现的一种新方法特点:"异步提交,局部刷新",在不刷新页面的前提下,可以与服务端交互数据并更新网页部分内容PS:这为jQuery封装后的Ajax版,原生较复杂且一般不用。所以以下使用前需保证导入了jQuery同时其它框架也可以用Ajax,比如Vue的axios。原创 2022-11-07 13:50:29 · 206 阅读 · 0 评论 -
Django-模型层
在多表查询操作中,对于有关系的表都会建外键,外键在哪个地方,从该地方向它的对应关系向查询就是正向,反之就是反向。如book表和publish表:book>>>publish多对一 , publish>>>book一对多外键建在book表内:则从book表查询publish表中数据就是正向publish表中没有外键字段:则从publish表中查book表数据就是反向一对一和多对多判断也是如此。原创 2022-10-29 10:47:40 · 425 阅读 · 0 评论 -
Django-模板层
1.在应用文件夹下创建一个名字必须为文件夹2.在该文件夹下创建任意名称的.py文件(即用来写自定义…的文件) eg:mytag1.py3.在该py文件内必须先写两句话之后才能在该.py文件中写自定义标签、过滤器、inclusion_tag(先用@register…语法声明)使用时都需要先加载该.py文件: {% load mytag1 %}定义:!!原创 2022-10-23 16:58:27 · 196 阅读 · 0 评论 -
Django-视图层
但还是会出现转Unicode码的情况,查看JsonResponse源码,发现其中的json_dumps_params参数有个if判断,若为空,则返回空字典。注:三板斧用在视图函数都返回得HttpResponse对象,三者均符合(看源码)但其实Django提供了一个JsonResponse对象,用来完成上述操作。CBV(基于类的视图),就是在url中一个路径对应一个类,在类中写视图函数。那其它数据类型能不能被JsonResponse序列化呢?FBV(基于函数的视图),就是在url中一个路径对应一个函数。原创 2022-10-23 10:43:41 · 221 阅读 · 0 评论 -
Django-路由层
就是利用正则匹配方式的路径,给起起个别名,前后端通过别名并传入必要参数(在reverse那传入因有无名分组所需的必要参数即可,若为数字一般为其主键id)来实现访问该路径。(搜索引擎本身是一个巨大的爬虫程序,它知道你是个静态网页后就会优先把你收录起来因为你的内容数据不变嘛,所以下次用户搜索展示的时候就可能会优先展示该网页)对django1.x,路由匹配用的是url正则匹配;路由匹配时,是将urlpatterns列表循环匹配,只要第一个匹配的参数能匹配到,就自动调用视图函数执行而不再继续往下匹配了。原创 2022-10-23 10:07:52 · 318 阅读 · 0 评论 -
Django-ORM常用字段及参数
Django-ORM常用字段和参数原创 2022-10-22 11:22:34 · 527 阅读 · 0 评论 -
Django-ORM
ORM:对象关系映射作用:让不懂SQL语句的人也能通过写python代码操作数据库优势:操作语法简单,提高开发效率不足:封装程度高,有时SQL语句效率低,需要自己写ORM会将写的类映射成表,对象映射成记录,对象属性=》某个字段。原创 2022-10-22 11:03:44 · 541 阅读 · 0 评论 -
链接数据库
Django配置文件settings.py中有以下代码,默认用的sqlite3数据库。之后就可以用pycharm操作数据库了,但千万记住要点击commit提交。pycharm中也支持可视化便携操作数据库的接口。4、一定要先下载驱动,再输入密码等参数测试连接。5、连接成功后确定,否则换MySQL重新下载驱动。3、点击新建"+"号—数据源—MySQL。但若想Django项目真正能运行起来,需去。2、找到链接数据库的位置——代码区域右侧。原创 2022-10-22 09:16:15 · 117 阅读 · 0 评论 -
解决django.core.exceptions.ImproperlyConfigured: Requested setting LOGGING_CONFIG, but settings...
解决开发Django项目时出的错django.core.exceptions.ImproperlyConfigured: Requested setting LOGGING_CONFIG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.原创 2022-10-17 14:26:11 · 4083 阅读 · 1 评论 -
Django-静态文件配置,链接数据库,request对象方法
Django:静态文件配置,链接数据库,request对象方法原创 2022-10-16 12:29:10 · 331 阅读 · 0 评论 -
Django-入门
目录-Django版本--5种转换器--自定义转换器--级联更新级联删除-Django安装-Django基本操作--终端命令操作---创建Django项目---启动Django项目---创建功能模块--PyCharm操作---创建Django项目---启动Django项目---创建功能模块---修改端口号--命令行创建Django项目与PyCharm创建区别--注意---正常启动Django项目---app注册-Django项目文件介绍-Django必会三剑客-Django初次使用原创 2022-10-16 10:33:52 · 412 阅读 · 0 评论 -
Django-前期初识
Django前期初识:在真正踏上Django学习之前,先对一些东西进行初步认识,以方便后期的学习原创 2022-10-15 21:51:24 · 310 阅读 · 0 评论