
django框架
文章平均质量分 82
Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架。使用 Django,我们在几分钟之内就可以创建高品质、易维护、数据库驱动的应用程序。
花_城
这个作者很懒,什么都没留下…
展开
-
DjangoWeb框架基础-目录
django简介、MVC及MTV设计模式、创建项目和app并启动原创 2021-09-15 14:04:24 · 414 阅读 · 0 评论 -
django2.2——读写分离
文章目录一、django 读写分离1.1 配置数据库1.2 数据库迁移1.3 指定要使用的数据库1.3.1 手动指定1.3.2 自动指定一、django 读写分离在搭建好 MySQL 的主从后,执行下面的步骤:1.1 配置数据库在 django 的项目配置文件中:DATABASES = { # 主库,django 默认使用 default 中的数据库 'default':{ 'ENGINE': 'django.db.backends.mysql', 'N原创 2022-01-31 19:24:23 · 2355 阅读 · 0 评论 -
同源策略与CORS(跨源资源共享)以及django项目支持CORS
文章目录一、同源策略/SOP(Same origin policy)1.1 源(origin)的定义1.2 同源的含义1.3 同源策略二、CORS(跨源资源共享)2.1 预检请求2.2 请求分类2.3 简单请求2.4 非简单请求三、使Django项目支持CORS3.1 自定义中间件3.2 使用django-cors-headers3.2.1 安装3.2.2 配置一、同源策略/SOP(Same origin policy)1.1 源(origin)的定义以下三个部分共同构成了一个源:协议:如htt原创 2022-01-04 21:23:17 · 3869 阅读 · 0 评论 -
django2.2——18. 缓存框架
文章目录一、Django 缓存框架二、设置缓存2.1 Memcached2.1.1 准备工作2.1.2 设置Memcached2.1.3 使用多个Memcached服务器2.1.4 Memcached的缺点2.2 数据库缓存创建缓存表2.3 文件系统缓存2.4 本地内存缓存2.5 虚拟缓存(用于开发模式)2.6 自定义缓存后端2.7 缓存参数三、缓存站点四、缓存视图在路由中指定视图缓存五、缓存模板片段一、Django 缓存框架动态网站在收到每一个用户请求时,都会执行查询数据库、渲染模板等操作,这些操作比原创 2021-12-31 15:34:56 · 1051 阅读 · 2 评论 -
Django REST Framework——8. JWT
文章目录一、Token与Session1. Session的弊端2. Token认证机制二、JWT的概念及构成三、Djangorestframework-simplejwt1. 安装与配置2. 基本使用方法3. 常用配置4. 自定义生成的Token内容5. JWT解码一、Token与Session1. Session的弊端我们之前已经学过session,它是将用户的敏感信息保存到服务端,而只给客户端一个sessionid(保存为cookie)作为与服务器端session交互的凭证。在用户通过验证并拿到原创 2021-12-30 21:29:34 · 3373 阅读 · 0 评论 -
Django REST Framework——7. 分页与文档生成
文章目录一、分页(Pagination)1.1 内置分页样式1.1.1 PageNumberPagination1.1.2 LimitOffsetPagination1.1.3 CursorPagination1.2 设置分页样式1.3 修改分页样式1.4 APIView子类视图调用分页二、自动生成API文档2.1 安装与设置2.2 简单配置一、分页(Pagination)DRF提供了支持自定义的分页功能,可以帮助我们将查询到的结果集分成若干页。并且还提供了前、后一页的链接:将分页链接作为响应内容的原创 2021-12-26 14:49:24 · 994 阅读 · 0 评论 -
Django REST Framework——6. 认证、权限、限流、过滤、排序及异常处理
文章目录一、认证(Authentication)1.1 身份认证的流程1.2 自定义认证类1.3 设置认证方案二、权限(Permissions)2.1 权限检查流程2.2 对象级别的权限2.3 自定义权限补充说明2.4 设置权限三、限流(Throttling)3.1 限流检查流程3.2 内置限流3.2.1 AnonRateThrottle3.2.2 UserRateThrottle3.3 设置限流四、过滤(Filtering)4.1 根据当前用户进行过滤4.2 根据URL进行过滤4.3 使用第三方djang原创 2021-12-21 18:20:20 · 2081 阅读 · 0 评论 -
Django REST Framework——5. 视图与路由
文章目录一、APIView类二、GenericAPIView类2.1 常用属性2.2 常用方法三、Mixin类四、通用的具体视图类五、视图集和路由器5.1 视图集(ViewSet)5.2 路由器(Router)5.2.1 使用方法5.2.2 DefaultRouter类5.3 ModelViewSet类基于类的视图的一个关键好处是:它们允许您组合一些可重用的行为。而DRF通过提供大量预构建的视图来利用这一点,为我们提供了一些常用的模式,我们要做的就是选择合适的视图类进行继承即可。一、APIView类D原创 2021-12-18 20:26:33 · 1194 阅读 · 0 评论 -
Django REST Framework——4. 请求与响应
文章目录一、请求对象(Request Object)常用属性二、响应对象(Response Object)常用属性三、状态码(Status codes)3.1 使用方法3.2 辅助函数四、配置默认Response渲染器4.1 全局配置4.2 局部配置4.3 渲染器类一、请求对象(Request Object)DRF传入视图的request对象不再是Django默认的HttpRequest对象,而是DRF提供的扩展后的request对象。Request对象的核心功能是request.data属性,它与re原创 2021-12-17 16:30:27 · 1235 阅读 · 0 评论 -
Django REST Framework——3. 序列化器(Serializer)
文章目录一、序列化与反序列化1.1 序列化过程1.2 反序列化过程二、字段类型及参数2.1 常用字段2.2 选项参数2.3 核心参数三、数据校验3.1 is_vaild()方法3.2 局部校验(只涉及一个字段)3.3 全局校验(涉及多个字段)3.4 validators参数四、数据操作4.1 查询单条数据4.2 查询所有数据4.3 新增数据4.4 修改数据4.5 删除数据五、模型类序列化器(Model Serializer)5.1 定义5.2 指定字段5.3 添加额外参数六、SerializerMethod原创 2021-12-17 11:17:32 · 2263 阅读 · 0 评论 -
Django REST Framework——2. DRF的安装和基本使用方法
文章目录一、DRF的基本使用方法1.1 DRF的安装1.2 DRF的简单使用1.2.1 环境搭建1.2.2 开始使用创建普通模型类创建序列化器编写视图添加url分页(可选)设置1.2.3 测试接口在学习Django REST Framework(DRF)之前,你必须先学会django,本文不会对django相关的内容做太多解释。一、DRF的基本使用方法1.1 DRF的安装使用pip安装Django REST Framework:pip install djangorestframework原创 2021-12-14 12:04:48 · 3315 阅读 · 0 评论 -
Django REST Framework——1. API和RESTful接口规范
文章目录一、Web架构1.1 前后端混合架构(前后端不分离)1.2 前后端分离架构二、API(Application Programming Interface,应用程序编程接口)三、RESTful接口规范3.1 什么是RESTful规范3.2 RESTful API 设计指南安全保障表识API版本控制路径HTTP动词,即请求方法(method)过滤HTTP状态码1xx(信息):通信传输协议级信息2xx(成功):表示客户端的请求已成功接受3xx(重定向 ):表示客户端必须执行一些其他操作才能完成其请求4xx原创 2021-12-12 21:42:38 · 1866 阅读 · 0 评论 -
django2.2-配置Media本地存储
文章目录一、配置Media本地存储1. `MEDIA_ROOT`2. `MEDIA_URL`二、开发期间为用户上传的媒体文件提供服务一、配置Media本地存储默认情况下,Django 使用 MEDIA_ROOT和 MEDIA_URL 设置本地存储,例如用户上传文件的保存位置。Django 也提供编写自定义文件存储系统的方法,允许你完全自定义 Django 存储文件的位置和方式:传送门1. MEDIA_ROOT用来设置保存用户上传的文件的路径,该路径必须是绝对路径。它的默认值为 '' (空字符串原创 2021-10-29 17:21:02 · 791 阅读 · 0 评论 -
django2.2-admin管理后台的使用
文章目录一、admin管理后台简介二、设置语言和时区三、admin管理后台的使用1. 创建超级用户(管理员)2. 打开admin管理后台3. 关联对象的显示方法四、`null`和`blank`参数的区别一、admin管理后台简介admin管理后台是django自带的一个组件,它给我们提供了一个管理项目的后台站点,打开该站点,就可以通过图形界面方便的管理项目数据。admin管理后台在项目创建时,就时默认启用的:在settings.py中,可以看到它时默认注册好的:INSTALLED_APPS =原创 2021-10-27 18:18:56 · 1934 阅读 · 2 评论 -
django2.2-用户认证系统和User模型
文章目录一、用户认证1. 创建用户2. 创建超级管理员(超级用户)3. 修改密码4. 验证用户二、User模型字段扩展三、在视图中认证用户1. 判断用户是否登录2. 登录用户3. 注销用户(退出登录)4. 限制用户登录一、用户认证Django自带一个用户认证系统,用于处理用户账户、分组、权限和基于cookie的用户会话。认证系统封装在django.contrib.auth模块中,默认是开启的。User对象是认证系统的核心!该模型位于django.contrib.auth.models.User。自定义原创 2021-10-22 11:17:34 · 985 阅读 · 0 评论 -
python3-import_module方法和插拔式设计原理
一、import_module方法二、插拔式设计原理一、import_module方法import_module方法用来通过形如'aaa.bbb.ccc'的路径字符串,导入指定的模块:import importlibret = importlib.import_module('myfile.b') # 等价于:from myfile import bprint(ret)注意:import_module只能导入到模块层次(即某一py文件),导入模块内成员会报错。二、插拔式设计原理d原创 2021-10-19 17:39:00 · 4732 阅读 · 0 评论 -
CSRF(跨站请求伪造)与django项目的预防方法
一、跨站请求伪造(CSRF)的概念二、django的CSRF令牌三、在ajax中使用csrf_token(jQuery为例)四、关于CSRF的装饰器1. 单独指定需要csrf验证的视图2. 单独指定忽略csrf验证的视图一、跨站请求伪造(CSRF)的概念CSRF全称为Cross-site request forgery,中文意为跨站请求伪造。它是指一种网络攻击技术:不法分子盗用身份信息并伪造请求,进行并非你本意的操作。csrf的案例:假设我们在浏览器中逛支付王(就当做是个很垃圾的支付平原创 2021-10-18 21:05:58 · 2182 阅读 · 0 评论 -
django2.2-中间件简介及自定义中间件
文章目录一、中间件介绍1. django默认启用(注册)的中间件2. 中间件的顺序二、自定义中间件一、中间件介绍中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入(请求要先由它处理)和输出(响应也要在最后让它处理)。每个中间件组件都负责做一些特定的功能。换个直白点的说法:中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作,它本质上就是一个自定义类,类中定义了几个方法,Django框架会在请求的特定的时间去原创 2021-10-16 20:25:16 · 4744 阅读 · 0 评论 -
django2.2-操作cookie与session
文章目录一、cookie与session简介1. cookie2. session二、django操作cookie三、django操作sessionDjango中的Session配置一、cookie与session简介1. cookie由于http协议是无状态协议,即每次浏览器发来的请求,对于服务端来说,都是一个全新的请求,无法辨别该客户端之前做过哪些操作。于是,就有了cookie来弥补这一缺点。cookie是由服务端产生并发送给客户端,然后保存在客户端的,其表现形式为一个个的键值对。之后客户端每次原创 2021-10-15 18:12:51 · 297 阅读 · 0 评论 -
django2.2-form表单详解
文章目录一、form组件二、form表单的基本语法1. form表单类的书写2. 校验数据3. 渲染表单标签三、展示错误信息1. 展示错误信息2. 自定义错误信息四、钩子函数(HOOK)五、字段参数和类型1. 核心参数`widget`参数`validators`参数其他参数2. 常用类型一、form组件通常情况下,我们需要自己手动在HTML页面中,编写form标签和其内的其它元素。但这费时费力,而且容易出错,数据验证也比较麻烦。因此,Django在内部集成了一个表单模块,专门用来帮助我们快速处理表单相原创 2021-10-14 15:15:07 · 9288 阅读 · 0 评论 -
django2.2-自定义分页器
系列文章目录文章目录系列文章目录一、自定义分页器代码二、自定义分页器使用django自带的分页器不够强大,所以我们通常都会自己写分页器。一、自定义分页器代码代码如下,我们只需复制过去使用即可。通常将这些“工具”,单独放在utils文件夹中,供所有app使用。class Pagination(object): def __init__(self, current_page, all_count, per_page_num=2, pager_count=11): """原创 2021-10-09 09:01:39 · 288 阅读 · 0 评论 -
django2.2-模型层详解
一、ORM常用字段及参数1. 字段类型2. 字段通用参数3. `choices`参数的基本用法二、单表操作1. 增删改查2. 双下划线查询(Field查询):3. 主键 (`pk`) 查询快捷方式三、外键字段的增、删、改1. 一对多和一对一模型2. 多对多模型四、多表查询1. 子查询(基于对象的跨表查询)2. 联表查询(基于双下划线的跨表查询)五、聚合查询六、分组查询七、F查询与Q查询八、多对多模型的三种建表方式九、数据库查询优化一、ORM常用字段及参数1. 字段类型原创 2021-10-04 15:55:18 · 5252 阅读 · 0 评论 -
django2.2-模板层详解
一、模板层简介二、变量三、过滤器四、标签五、自定义过滤器和标签1. 自定义过滤器2. 自定义普通标签3. 自定义包含标签六、模板继承七、包含一、模板层简介模板简介模板是动态生成HTML的便捷方法,包含HTML需输出的静态部分以及动态插入内容的一些特殊语法。Django后端内置一个自己的模板系统,称为Django template language(DTL)。后端也可以使用第三方提供的模板引擎,最流行的是jinja2引擎。简单用法:使用render(req原创 2021-09-25 13:49:38 · 536 阅读 · 0 评论 -
django2.2-视图层详解
文章目录 一、视图概览二、HttpRequest对象三、JsonResponse对象四、文件上传五、FBV与CBV一、视图概览视图函数,简称视图,属于Django的视图层,默认定义在views.py文件中,是用来处理web请求信息以及返回响应信息的函数,所以研究视图函数只需熟练掌握两个对象即可:请求对象(HttpRequest)和响应对象(HttpResponse)。当一个页面被请求时,Django 会创建一个 HttpRequest对象,这个对象包含了请求的所有数据。然后,D原创 2021-09-23 12:02:23 · 2887 阅读 · 0 评论 -
django2.2-路由层详解
一、路由层基础1. 捕获参数2. 路径转换器二、自定义路径转换器三、re_path()方法四、有名分组、无名分组五、反向解析1. 基本使用方法2. url参数的传递六、路由分发七、名称空间八、伪静态原创 2021-09-21 21:03:52 · 704 阅读 · 0 评论 -
django2.2-django请求生命周期流程图
系列文章目录文章目录系列文章目录django请求生命周期流程图django请求生命周期流程图WSGI与wsgiref和uwsgi的关系:WSGI是协议,wsgiref和uwsgi是针对WSGI协议实现功能模块。原创 2021-09-18 14:44:07 · 375 阅读 · 0 评论 -
djando2.2-django ORM的概念、通过ORM操作数据库
一、django ORM1. ORM的概念2. 模型类的书写3. 进行迁移4. Field类的常用参数二、通过ORM操作数据库1. 创建数据表2. 字段的增删改3. 记录的增删改查4. ORM建立表关系(外键字段的使用)5.on_delete参数选项django ORM的概念:ORM全称Object Relational Mapping(对象关系映射),django有了它,就能够通过python代码操作数据库(在底层转换为sql语句),免去sql语句的书写。原创 2021-09-18 14:35:02 · 594 阅读 · 0 评论 -
django2.2-静态文件和数据库的配置、其他常用配置
系列文章目录文章目录系列文章目录django配置文件1. 静态文件配置2. 数据库配置3. 其他常用配置django配置文件settings.py是整个项目的配置文件,有几个重要的配置项需要说明一下。1. 静态文件配置静态文件:像js文件、前端框架文件、css文件、图片文件等都属于静态文件,这些文件都不需要服务器动态生成,只需在客户端请求时,发送过去就可以了。static文件夹:默认情况下,html文件放在templates文件夹下,而将静态文件放在static文件夹下。并且还会在s原创 2021-09-16 16:30:45 · 482 阅读 · 0 评论 -
django2.2-django的简单使用、html表单的提交方法、CSRF令牌用法、request对象的基本方法
系列文章目录文章目录系列文章目录一、django的简单使用1. 配置模板文件夹2. 配置路由3. 编写视图二、html表单的提交方法三、CSRF令牌用法四、request对象的基本方法一、django的简单使用1. 配置模板文件夹在项目的根目录(即manage.py所在的目录)下,手动创建一个templates文件夹,用来存放模板文件,即html文件。然后打开settings.py文件,找到TEMPLATES配置项,将里面的'DIRS':[]改为'DIRS': [os.path.join(BASE原创 2021-09-15 14:02:22 · 392 阅读 · 0 评论 -
django2.2-django简介、MVC及MTV设计模式、创建项目和app并启动
系列文章目录文章目录系列文章目录一、django简介二、MVC及MTV设计模式三、创建项目和app并启一、django简介web框架的概念:web框架本质上是大佬们写好的python第三方库,里面写好了任何人做web开发都必须要写的一些代码,我们只需要在框架的基础上,写项目代码就可以了。极大地减少了我们的工作量。python三大主流web框架:django优点:大而全,自带的功能特别多,几乎可以满足所有要求。缺点:过于笨重,面对小型项目有种杀鸡用牛刀的感觉。flask原创 2021-09-14 10:36:15 · 623 阅读 · 0 评论