Django框架
文章平均质量分 75
django
go&Python
开发转运维(devops,prometheus)中(暂时中止),js/app逆向(进度50%),还想写go(后面再学一遍吧)。目标不大,路在脚下
展开
-
Django 模型继承问题
它还对 Python 能识别的属性生效:如果你同时在子类和多表继承的祖先类中指定了数据表的列名(它们是两张不同的数据表中的列)。这些特性,普通的 Python 类继承不需要用完全一样的方式处理,故此, Django 的模型继承和 Python 的类继承之间的区别不是随意的。你可以创建,删除和更新代理模型的实例,所以的数据都会存储的像你使用原模型(未代理的)一样。若你未在代理模型中指定模型管理器,它会从父类模型中继承。如果你在代理模型中指定了管理器,它会成为默认管理器,但父类中定义的管理器仍是可用的。原创 2023-02-15 10:15:06 · 1051 阅读 · 0 评论 -
Mysql主从搭建与Django实现读写分离
总结: 简单点说 不论是mysql主从还是redis主从,其核心原理在于通过日志同步执行的更改命令,一般主库用来写,从库用来读。这里采用docker在同一台机器上模拟两台mysql服务器docker启动命令创建用户,搭建主从django读写分离 基于mysql主从同步的基础实现...原创 2022-06-10 21:51:15 · 208 阅读 · 0 评论 -
Django 权限控制之Token认证
Django权限控制之前写了篇关于Json Web Token(jwt)模块文章,现在工作遇到了基于Django权限控制,Authentication backends相关的内容,再做下分享,也可以直接去参考官网说明django后端验证可以看做是一个列表,django会按照列表中认证组件一个个的去认证,直到认证成功或所有的验证方法都被尝试。需要注意的是,django默认的只会检查数据库和内置权限,没有其他功能。自定义验证后端必须实现两个方法: get_user 和 authenticate 方法,另外还原创 2022-06-10 16:18:10 · 1188 阅读 · 0 评论 -
支付宝支付功能实现
文章目录支付宝支付实现简单使用支付宝字符的二次封装支付宝支付实现采用沙箱环境实现https://openhome.alipay.com/platform/appDaily.html下载软件生成支付宝公钥,(也可以用系统默认密钥)https://opendocs.alipay.com/open/291/106097/沙箱账号,用来实验 https://open.alipay.com/platform/appDaily.htm?tab=account沙箱工具中下载相应软原创 2022-03-27 12:32:10 · 3667 阅读 · 0 评论 -
过滤器进阶
文章目录过滤器进阶自定义过滤规则django_filters使用过滤器进阶自定义过滤规则写一个类,继承BaseFilterBackend,重写filter_queryset方法,返回queryset对象,返回的对象就是过滤完的from rest_framework.filters import BaseFilterBackend,SearchFilter# SearchFilter可以用于模糊查询class MyFilter(BaseFilterBackend): def fil原创 2022-03-26 11:15:41 · 567 阅读 · 0 评论 -
ORM 常用字段
文章目录1 ORM字段AutoFieldIntegerFieldCharFieldDateFieldDateTimeField常用和非常用字段2 ORM字段参数3 关系字段ForeignKeytoto_fieldrelated_name**related_query_name****on_delete**db_constraintOneToOneFieldtoto_fieldon_deleteManyToManyFieldtorelated_namerelated_query_namesymmetrical原创 2022-03-25 16:36:38 · 786 阅读 · 0 评论 -
django使用celery
django使用celery简单补充一下,在django框架中如何使用celery,进行celery任务详情请参考 celery的使用官方建议,celery_task文件夹应放在项目目录下celery.py 中配置from celery import Celery# 加载django环境import osimport djangoos.environ.setdefault("DJANGO_SETTINGS_MODULE", "luffyapi.settings.dev")d原创 2022-03-25 14:40:51 · 703 阅读 · 0 评论 -
celery的使用
文章目录celery的使用celery是什么celery的使用celery包结构celery的使用celery是什么celery是一个异步任务框架,用来执行异步任务,执行延迟任务,执行定时任务Celery is a project with minimal funding, so we don’t support Microsoft Windows. Please don’t open any issues related to that platform.由于celery没有windows版本原创 2022-03-23 22:04:43 · 2193 阅读 · 1 评论 -
django 实现跨域请求
文章目录跨域请求一 同源策略二 CORS(跨域资源共享)简介三 CORS基本流程四 CORS两种请求详解五 Django项目中支持CORS六 django 使用django-cors-headers 解决跨域问题1、使用pip安装2、添加到setting的app中3、添加中间件4、setting下面添加下面的配置跨域请求一 同源策略同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在原创 2022-03-16 19:55:44 · 932 阅读 · 0 评论 -
Django-用户权限和缓存
文章目录Django-用户权限1. Django的权限项2. 创建权限3.分配权限4. 检测用户是否有某权限,和所有权限,组权限5. 权限校验,使用permission_required装饰器6. 测试7. 首页index.html中通过权限控制按钮Django 缓存Django-用户权限RBAC(Role-Based Access Control,基于角色的访问控制)就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在原创 2022-03-15 14:42:58 · 579 阅读 · 0 评论 -
drf JWT组件
文章目录drf JWT组件JWT 原理校验方式drf项目多的jwt认证开发流程(重点)JWT 简单使用base64编码解码JWT 控制登录接口返回的数据格式自定义基于jwt的权限类手动签发token(多方式登录实现)方式1 逻辑写在序列化类中方式2 逻辑写在视图类中JWT 的配置参数drf JWT组件jwt = Json Web TokenJWT 原理jwt分三段式:头.体.签名 (head.payload.sgin)头和体是可逆加密,让服务器可以反解出user对原创 2022-03-15 13:55:21 · 5489 阅读 · 1 评论 -
coreapi自动生成API接口文档
文章目录1 安装:2 在路由中配置视图中使用方法1 安装:pip install coreapi2 在路由中配置from rest_framework.documentation import include_docs_urls urlpatterns = [ ... path('docs/', include_docs_urls(title='站点页面标题')) ] 新版本需要在配置文件中配置: REST_FRAMEWORK={ 'D原创 2022-03-14 11:47:33 · 1430 阅读 · 0 评论 -
drf 分页器组件
文章目录drf 分页器组件为什么要使用分页DRF使用分页器分页模式全局配置局部配置DRF内置分页器PageNumberPagination分页器LimitOffsetPagination分页器CursorPagination分页器视图drf 分页器组件为什么要使用分页我们数据表中可能会有成千上万条数据,当我们访问某张表的所有数据时,我们不太可能需要一次把所有的数据都展示出来,因为数据量很大,对服务端的内存压力比较大还有就是网络传输过程中耗时也会比较大。通常我们会希望一部分一部分去请求数据,也原创 2022-03-13 17:33:41 · 553 阅读 · 1 评论 -
ORM配合DRF序列化组件使用
文章目录ORM配合DRF序列化组件使用ORM建表操作补充ORM 增删查改实操核心源码序列化操作补充ORM配合DRF序列化组件使用ORM建表操作补充同一表不能有两个自增class BaseModel(models.Model): is_delete = models.BooleanField(default=False) create_time = models.DateTimeField(auto_now_add=True) last_update_time = mode原创 2022-03-13 16:37:08 · 1095 阅读 · 0 评论 -
drf 异常处理与封装Response对象
文章目录drf 异常处理与封装Response对象异常处理源码自定义异常方法封装Response对象drf 异常处理与封装Response对象异常处理源码def exception_handler(exc, context): if isinstance(exc, Http404): exc = exceptions.NotFound() elif isinstance(exc, PermissionDenied): exc = exceptio原创 2022-03-12 19:13:13 · 1219 阅读 · 0 评论 -
drf 频率过滤与排序组件
文章目录drf 频率过滤与排序组件频率组件内置频率类全局配置与使用局部配置与使用限制登录用户的访问频次自定义限制类过滤组件(Filtering)排序组件drf 频率过滤与排序组件频率组件控制用户对某个url请求的频率内置频率类BaseThrottle是所有类的基类:方法:**def get_ident(self, request)**获取标识,其实就是获取ip,自定义的需要继承它AnonRateThrottle:未登录用户ip限制,需要配合auth模块用,使用DEFAULT_THRO原创 2022-03-12 18:42:16 · 440 阅读 · 0 评论 -
drf 权限组件
文章目录drf 权限组件权限Permissions权限源码分析自定义权限的使用内置权限drf 权限组件权限Permissions权限控制可以限制用户对于视图的访问和对于具体数据对象的访问。在执行视图的dispatch()方法前,会先进行视图访问权限的判断在通过get_object()获取具体对象时,会进行模型对象访问权限的判断权限源码分析源码路径: APIView---->dispatch---->initial—>self.check_permissions(r原创 2022-03-12 14:18:05 · 471 阅读 · 1 评论 -
drf 认证组件
文章目录drf 认证组件认证的写法认证的源码分析认证组件的使用drf 认证组件认证的写法写一个类,继承BaseAuthentication,重写authenticate,认证的逻辑写在里面,返回两个值,一个值最终给了Request对象的user,认证失败,抛异常: APIException或者AuthenticationFailed可以全局使用或局部使用认证的源码分析查看源码步骤:APIVIew---->dispatch方法—>self.initial(reques原创 2022-03-11 18:29:06 · 354 阅读 · 0 评论 -
drf 路由组件
文章目录drf 路由组件自定义路由(原始方法)半自动路由(视图类继承ModelViewSet)路由Routersaction的使用drf 路由组件自定义路由(原始方法)urlpatterns = [ url(r'^books/$', views.BookView.as_view()), url(r'^books/(?P<pk>\d+)$', views.BookDetailView.as_view()),]半自动路由(视图类继承ModelViewSet)urlpat原创 2022-03-11 16:16:21 · 469 阅读 · 0 评论 -
drf 视图组件
文章目录drf 视图组件1. 2个视图基类1.1 APIView1.1.1 基于APIView写接口1.2 GenericAPIView1.2.1 基于GenericAPIView写接口2. 5个视图扩展类1)ListModelMixin2)CreateModelMixin3)RetrieveModelMixin4)UpdateModelMixin5)DestroyModelMixin2.1 基于GenericAPIView和5个视图扩展类写的接口GenericAPIView原创 2022-03-11 15:10:13 · 819 阅读 · 0 评论 -
drf 请求与响应
文章目录drf请求与响应1. Request1.1 常用属性1).data2).query_params2. Response2.1 构造方式2.2 常用属性1).data2).status_code3).content2.3 状态码1)信息告知 - 1xx2)成功 - 2xx3)重定向 - 3xx4)客户端错误 - 4xx5)服务器错误 - 5xxdrf请求与响应1. RequestREST framework 传入视图的request对象不再是Django默认的HttpReques原创 2022-03-10 10:05:32 · 753 阅读 · 1 评论 -
drf 序列化组件
文章目录DRF 序列化组件1 序列化组件介绍2 简单使用步骤3 序列化类的字段类型与选项4 序列化组件修改数据5 read_only 和 write_only6 查询所有7 新增数据8 删除一个数据9 模型类序列化器10 源码分析11 Serializer高级用法DRF 序列化组件1 序列化组件介绍序列化: 序列化器会把模型对象装换成字典,经过response以后变成json字符串反序列化: 把客户端发送过来的数据进行数据校验,通过后经过reques原创 2022-03-09 19:13:32 · 1037 阅读 · 0 评论 -
Django-rest-framework简介
文章目录Django-rest-framework简介1. wen开发模式2. api接口3. 端口测试软件4. Restful规范(重点)5. drf的安装和简单使用CBV核心源码分析APIView源码分析rest_framework.request中Request源码Django-rest-framework简介1. wen开发模式前后端混合开发(前后端不分离): 返回的html的内容,需要写模块,在Django中叫做DTL(Django-Templates-Langua原创 2022-03-08 16:03:00 · 725 阅读 · 0 评论 -
Django Auth模块
Django框架第十二次淼㵘Auth模块在我们执行数据库迁移命令时,Django会生成很多自带的表:(django_session, auth_user…),并且还自带一个admin路由,需要输入用户名和密码才能访问,其数据参考的就是auth_user表,并且admin路由必须是管理员用户才能进入创建超级用户(管理员)python manage.py createsuperuser# 命令行创建时,Email address 可以为空 密码需要8位及以上 超级用户创建成功后,a原创 2022-02-28 20:13:35 · 919 阅读 · 0 评论 -
Django cookie、session与CBV装饰器
文章目录Django框架的第十次蹀躞cookie与session什么是Cookie查看CookieDjango中操作Cookie什么是SessionDjango中操作sessionCBV添加装饰器三种方式Django框架的第十次蹀躞cookie与session扩充:由于HTTP协议是无状态的。因此它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受到前面的请求请求响应情况直接影响,也不会直接影响后面的请求响应情况。对服务器来说,每次的请求都是全新的。状态可以理解为客户端和服务端在某次会原创 2022-02-27 19:56:43 · 792 阅读 · 1 评论 -
Django 中间件与csrf跨站请求
文章目录Django框架的第十一次叒叕Django中间件自定义中间件csrf中间件介绍csrf校验使用csrf相关装饰器importlib基于Django中间件的重要编程思想Django框架的第十一次叒叕Django中间件按照官方说法:Django中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。简单点说Django中间件就是Django的门户,主要功能有两点请求来的时原创 2022-02-28 15:29:40 · 722 阅读 · 0 评论 -
Django 分页器与Forms组件
文章目录Django框架的第九次龖鷄批量插入自定义分页器1. 自定义分页器思路2. 自定义分页器源码及使用Forms组件1. Forms组件介绍2. Forms组件基本使用3. 校验数据4. 渲染标签展示提示信息钩子函数(HOOK)forms组件其他参数及补充知识点Django框架的第九次龖鷄批量插入ORM批量插入数据处理(bulk_create)def ab_pl(request): book_list = [] for i in range(1000原创 2022-02-26 22:44:26 · 658 阅读 · 0 评论 -
django 实现 ajax
文章目录django框架的第8次交手AJAX简介jQuery实现Ajax前后端传输数据的编码格式(contentType)Ajax发送json格式数据django自带的序列化组件ajax结合sweetalert实现删除二次确认django框架的第8次交手AJAX简介AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。AJ原创 2022-02-26 12:41:48 · 1063 阅读 · 0 评论 -
Django ORM 高级操作
文章目录Django框架的第七次探索聚合查询分组查询F与Q查询Django开启事务ORM中常用参数数据库查询优化Django框架的第七次探索补充: Django框架中只要是跟数据库相关的模块基本都在django.db.models 中,如果没有就应该在django.db里面聚合查询聚合查询(aggregate)通常情况下都是配合分组一起使用的使用方式:1. 导入模块 from django.db.models import Max,Min,Sum,Count,Avg原创 2022-02-24 15:07:07 · 1158 阅读 · 0 评论 -
Django ORM语法进阶
文章目录Django的第六次链接单表操作必知必会13条查看内部sql语句的方式神奇的双下划线查询一对多外键增删查改多对多外键增删查改正反向概念多表查询案例子查询(基于对象的跨表查询)联表查询(基于双下划线的跨表查询)Django的第六次链接ORM语法进阶单表操作在操作前可以先配置好测试环境,方便对数据库进行测试1. 在tests.py文件中写入下面代码 (任意新建一个文件也行)import osif __name__ == "__main__": os.environ.set原创 2022-02-22 11:31:57 · 550 阅读 · 0 评论 -
Django 模板语法
在模板语法中:模板语法的使用前端页面展示结果基本语法:后端补充代码展示结果模板语法之标签标签就是一堆逻辑,包括for循环 if判断等注意:自定义过滤器:自定义标签:自定义inclusion_tag:内部原理总结: 当html页面某一个地方的页面需要传参数才能够动态的渲染出来,并且多个页面上都需要使用该局部 那么就考虑将改局部页面做成inclusion_tah形式模板继承的实现:模板页面的创建(home.html)子页面继承...原创 2022-02-20 17:57:02 · 1220 阅读 · 0 评论 -
虚拟环境与Django版本区别
pycharm创建虚拟环境当然也有相应的方法使用正则:原创 2022-07-04 12:39:51 · 177 阅读 · 1 评论 -
Django 名称空间、伪静态、视图层、FBV与CBV介绍
解决方法:伪静态视图层三板斧JsonResponse对象form表单上传文件FBV和CBVCBV源码剖析总结注意: 不要轻易修改源码原创 2022-02-20 13:02:18 · 779 阅读 · 0 评论 -
Django 请求生命周期与路由层介绍
文章目录Django框架的第三次邂逅Django orm中创建表关系Django请求生命周期路由层路由匹配介绍无名分组与有名分组反向解析Django框架的第三次邂逅Django orm中创建表关系知识回顾:表与表之间的关系有三种(也可以说是四种)一对多多对多一对一(没有关系)以下面四个表为例图书表、出版社表、作者表、作者详情表。图书表和出版社表是一对多的关系 外键字段需要健在多的哪一方(图书表)图书表和作者表时多对多的关系 需要创建第三张表来专门存储作者与作者详情表时一对一原创 2022-02-19 14:00:50 · 438 阅读 · 0 评论 -
Django request方法与ORM
在Django中,我们将html文件默认都放在templates文件夹下,将网站所使用的静态文件都放在static文件夹下。在浏览器中输入url能够看到对应的资源是因为后端提前开设了该资源的接口,如果访问不到资源 说明后端没有开设该资源的接口。也就意味着后续我们创建模型表的时候如果主键字段名没有额外的叫法 那么主键字段可以省略不写。所以orm当你不定义主键字段的时候 orm 会自动创建一个名为id 的主键字段。图书表和出版社表是一对多的关系 外键字段需要健在多的哪一方(图书表)作者与作者详情表时一对一。.原创 2022-02-18 21:52:13 · 722 阅读 · 0 评论 -
初识Django框架
初识Django框架python三大主流web框架介绍django框架django框架是应用的最多的一个python web框架,大多数python开发人员都是先接触django框架,其特点在于: 大而全 自带的功能特别多 , 但不足之处在于: 有时候过于笨重flask框架flask框架是python web框架中最轻量化的一个框架,其自带的功能特别的少,但是其第三方模块特别特别的多,如果将flask第三方模块加起来完全可以盖过django框架,并且也越来越像django框架,但比较依赖原创 2022-02-17 19:48:08 · 2086 阅读 · 0 评论