随笔分类 -  django

摘要:当请求过来时,解释器会根据content-type字段,选择相应的解释器,然后并将数据封装的request.data中。一般我们都是直接采用rest里面内置的解析器,无需自己定义 REST_FRAMEWORK = { 'DEFAULT_PARSER_CLASSES': [ 'rest_framewo 阅读全文
posted @ 2022-12-03 21:29 powfu 阅读(25) 评论(0) 推荐(0) 编辑
摘要:from django.shortcuts import render,HttpResponse from rest_framework.pagination import PageNumberPagination from rest_framework.views import APIView f 阅读全文
posted @ 2022-11-30 23:13 powfu 阅读(15) 评论(0) 推荐(0) 编辑
摘要:序列化 序列化:由于我们在数据库中获取的数据是queryset类型,无法向前端返回json,这一部分需要自己转换,rest的序列化可以提供这个关系转化。 不使用drf序列化实现 def get(self,request,*args,**kwargs): #方式一:django中queryset类型转 阅读全文
posted @ 2022-11-28 23:20 powfu 阅读(77) 评论(0) 推荐(0) 编辑
摘要:DRF组件--权限功能 自己定义一个权限类,其中必须包含has_permission方法 class MyPermission(object): #创建一个权限类。里面写具体的权限划分 def has_permission(self,request,view): if request.user.us 阅读全文
posted @ 2022-11-27 23:52 powfu 阅读(16) 评论(0) 推荐(0) 编辑
摘要:DRF 认证功能 自己定义一个认证类,其中类中必定要有authenticate方法 class MyAuthentication(): def authenticate(self,request): token = request._request.GET.get('token') token_ob 阅读全文
posted @ 2022-11-27 23:40 powfu 阅读(31) 评论(0) 推荐(0) 编辑
摘要:缓存 缓存的作用是缓解服务器压力,或者者说是数据库的压力,我们可以将一些常用的页面或数据放入缓存中,用户查询时,直接去缓存里面查,以此来缓解服务器压力 django提供的缓存 1.数据库缓存 1、全局缓存 settings配置 调用缓存的方法 直接视图函数调用 路由中调用 2、局部缓存 2.文件缓存 阅读全文
posted @ 2022-11-27 23:26 powfu 阅读(43) 评论(0) 推荐(0) 编辑
摘要:django解决跨域的问题 使用django-cors-headers库 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddle 阅读全文
posted @ 2022-11-20 22:46 powfu 阅读(7) 评论(0) 推荐(0) 编辑
摘要:由于我们用到平时runserver启动django服务是django给我们提供一个专门测试用的启动服务,他提供的请求量不大,如果多人请求,可能会造成崩溃,所以一般采用uWSGI服务来启动django WSGI: pip install uwsgi Web服务器网关接口,是python应用程序或框架和 阅读全文
posted @ 2022-11-20 22:24 powfu 阅读(62) 评论(0) 推荐(0) 编辑
摘要:MTV和MVC就是指功能模块划分,django属于标准的MTV MVC: M-->model 数据库模型相关 V-->Views 视图相关 C-->Controllers 业务逻辑处理 MTV M-->model 数据库模型相关 T-->templates 模板 V-->Views 业务逻辑处理 阅读全文
posted @ 2022-11-20 22:10 powfu 阅读(19) 评论(0) 推荐(0) 编辑
摘要:django连接数据库 django中默认使用的数据库时sql-lite数据库,如果更改为mysql数据库,则在setting中更改配置,而且django默认连接mysql的连接方式为mysqldb,如需更改连接方式,则在init.py中,如果django中某个应用需要用到orm操作,则还需在set 阅读全文
posted @ 2022-11-20 22:07 powfu 阅读(17) 评论(0) 推荐(0) 编辑
摘要:xss 原理:用户在与数据库交互的地方写一些js脚本,提交给数据库,然后其他用户再访问的时候,服务器将这些js脚本作为字符串返回给页面,然后这些js脚本被浏览器解析,然后发生给xss攻击。 django默认已经防止xss攻击了。只要不在前端页面增加{{ msg |safe }}就不会发生xss攻击。 阅读全文
posted @ 2022-11-20 17:25 powfu 阅读(29) 评论(0) 推荐(0) 编辑
摘要:cookie与session的区别 由于http是一种无状态协议,无法保持一种会话的状态,所以可以使用cookie和session保持会话的状态 cookie 保存在用户浏览器端的键值对,cookie是由服务端创建的并将其发送给客户端浏览器。以后每次客户端向该服务端发送请求时,都携带该cookie。 阅读全文
posted @ 2022-11-20 17:15 powfu 阅读(165) 评论(0) 推荐(0) 编辑
摘要:django中的视图函数分为两类,CBV和FBV FBV: 一条路由对应一个函数 CBV: 一条路由对应一个类,该类必须继承from django.views import View类 urlpatterns = [ re_path(r'^login.html$', views.Login.as_v 阅读全文
posted @ 2022-11-20 16:27 powfu 阅读(29) 评论(0) 推荐(0) 编辑
摘要:中间件 当用户发送请求时,其实时候是将请求发送给wsgi(一种协议),django使用的是wsgiref,然后再将请求发送给django的各个中间件(settings里的MIDDLEWARE表示使用的中间件),再由中间件发送给django的路由系统。 django的中间件执行流程 如何自定义中间件 阅读全文
posted @ 2022-11-19 23:29 powfu 阅读(22) 评论(0) 推荐(0) 编辑
摘要:django路由系统 --动态路由 # urls.py urlpatterns = [ path('admin/', admin.site.urls), path('index/', views.index), re_path(r'edit/(\w*)/', views.edit), #动态路由,支 阅读全文
posted @ 2022-11-19 23:17 powfu 阅读(35) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示