django
python_QYF
风往尘香花已尽,日晚倦梳头;物是人非事事休,欲语泪先流。
展开
-
DRF 框架总结 - DRF 工程 搭建
环境安装与配置DRF 是以 Django 扩展应用的方式提供的,所以我们可以直接利用已有的 Django 环境而无需重新创建。(若没有 Django 环境,需要先创建环境安装 Django)安装DRFpip install djangorestframework添加rest_framework应用我们利用在Django框架学习中创建的demo工程,在settings.py的INSTAL...原创 2018-12-10 20:53:15 · 415 阅读 · 0 评论 -
DRF 框架总结 - 引入 Django REST framework 框架
引入 Django REST framework 框架Web 应用模式在开发 Web 应用中,有两种开发模式:前后端不分离前后端分离前后端不分离在前后端不分离的应用模式中,前端看到的效果都是有后端控制,由后端渲染页面或重定向,也就是后端需要 控制前端的展示,前端与后端的耦合度很高。这种应用模式比较适合纯网页应用,但是当后端对接 app 时, app 可能并不需要后端返回一个 H...原创 2018-12-07 20:18:44 · 448 阅读 · 0 评论 -
Django 框架 - Admin站点
Admin 站点Django 能够根据定义的模型类自动地生成管理页面。使用 Django 的管理模块,需要按照如下步骤操作 :管理界面本地化创建管理员注册模型类自定义管理页面调整列表页展示list_per_page=100 # 页大小actions_on_top=True # “操作选项位置”list_display=[模型字段1,模型字段2,...] # 列表中的...原创 2018-12-01 18:24:51 · 180 阅读 · 0 评论 -
Django 框架 - 数据库操作
数据库ORM框架O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思。在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操作它所对应的表格中的数据。ORM框架还有一个功能,它可以根据我们设计的类自动帮我们生成数据库中的表格,省去了我们自己建表的过程。django中内嵌了OR...原创 2018-12-01 18:22:58 · 182 阅读 · 0 评论 -
Django 框架 - 模板
模板配置在工程中创建模板目录templates。在settings.py配置文件中修改TEMPLATES配置项的DIRS值: 'DIRS': [os.path.join(BASE_DIR, 'templates')], # 此处修改定义模板在 templates 目录中新建模板文件,如 index.html 文件就是 html 文件,不过在需要数据的地方使用 moustach...原创 2018-12-01 18:19:28 · 120 阅读 · 0 评论 -
Django 框架 - 类视图和中间件
类视图与中间件类视图类视图引入以函数的方式定义的视图成为函数视图,函数视图便于理解,但是遇到一个视图对应的路径提供了多种不同 HTTP 请求方式的支持时,便需要在一个函数中编写不同的业务逻辑,代码可读性与复用性都不佳。比如说增删改查请求是一个链接的时候在 Django 中也可以使用类来定义一个视图,称为类视图使用类视图可以将视图对应的不同请求方式以类中的不同方法来区别定义。fro...原创 2018-12-01 18:17:12 · 163 阅读 · 0 评论 -
Django 框架 - 请求与响应
请求与响应请求利用 HTTP 协议向服务器传参的途径:提取 URL 的特定部分,如/weather/beijing/2018,可以在服务器端的路由中用正则表达式截取;查询字符串(query string),请求体(body)中发送的数据,如表单数据、json、xml在 http 保存的头(header)中URL 路径参数在定义路由 URL 时,可以使用正则表达式提取参数的方法...原创 2018-12-01 18:13:28 · 187 阅读 · 0 评论 -
Django 框架 - 配置静态文件与路由
配置静态文件与路由配置文件BASE_DIRBASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))当前工程的根目录,Django会依此来定位工程内的相关文件,我们也可以使用该参数来构造文件路径。DEBUGDjango 默认 debug 模式运行修改代码文件,程序自动重启Django 程序出现...原创 2018-12-01 18:08:06 · 520 阅读 · 0 评论 -
Django 框架 - 工程搭建
工程搭建环境安装# 创建虚拟环境mkvirtualenv django_py3_1.11 -p python3# 安装 Djangopip install django==1.11.11# 相关命令# 虚拟环境mkvirtualenv # 创建虚拟环境rmvirtualenv # 删除虚拟环境workon # 进入虚拟环境、查看所有虚拟环境deactivate #...原创 2018-12-01 18:07:04 · 268 阅读 · 1 评论 -
DRF 框架总结 - serializer 序列化器
定义 serializer序列化使用反序列化使用模型类序列化器 ModelSerializer原创 2018-12-13 17:58:14 · 1548 阅读 · 0 评论 -
DRF 框架总结 - 视图(Request 与 Response)
Request 与 ResponseRequestREST framework 传入视图的 request 对象不再是 Django 默认的 HttpRequest 对象,而是 REST framework 提供的扩展了 HttpRequest 类的 Request 类的对象。REST framework 提供了 Parser 解析器,在接收到请求后会自动根据 Content-Type 指明...原创 2018-12-13 18:05:59 · 576 阅读 · 0 评论 -
DRF 框架总结 - 视图说明
视图REST framework 提供了众多的通用视图基类与扩展类,以简化视图的编写在不同的类中封装了不同的属性,简化代码的书写量,# 视图继承层级# 第一层object# 第二层django.views.generic.base.View# 第三层rest_framework.views.APIView# 第四层rest_framework.mixins.List...原创 2018-12-13 18:10:55 · 423 阅读 · 0 评论 -
DRF 框架总结 - 自动生成接口文档
自动生成接口文档REST framework可以自动帮助我们生成接口文档。接口文档以网页的方式呈现。自动接口文档能生成的是继承自APIView及其子类的视图。1. 安装依赖REST framewrok生成接口文档需要coreapi库的支持。pip install coreapi2. 设置接口文档访问路径在总路由中添加接口文档路径。文档路由对应的视图配置为rest_frame...原创 2018-12-14 09:52:59 · 2022 阅读 · 0 评论 -
DRF 框架总结 - 异常处理 Exceptions
异常处理 ExceptionsREST framework提供了异常处理,我们可以自定义异常处理函数。from rest_framework.views import exception_handlerdef custom_exception_handler(exc, context): # 先调用REST framework默认的异常处理方法获得标准错误响应对象 resp...原创 2018-12-13 18:31:31 · 1012 阅读 · 0 评论 -
DRF 框架总结 - 版本 Versioning
版本VersioningREST framework提供了版本号的支持。在需要获取请求的版本号时,可以通过request.version来获取。默认版本功能未开启,request.version 返回None。开启版本支持功能,需要在配置文件中设置DEFAULT_VERSIONING_CLASSREST_FRAMEWORK = { 'DEFAULT_VERSIONING_CLAS...原创 2018-12-13 18:30:18 · 439 阅读 · 0 评论 -
DRF 框架总结 - 分页 Pagination
分页PaginationREST framework提供了分页的支持。我们可以在配置文件中设置全局的分页方式,如:REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'PAGE_SIZE': 100 # 每页数目}也可通过自定...原创 2018-12-13 18:26:47 · 1227 阅读 · 0 评论 -
DRF 框架总结 - 限流 Throttling
限流Throttling可以对接口访问的频次进行限制,以减轻服务器压力。使用可以在配置文件中,使用DEFAULT_THROTTLE_CLASSES 和 DEFAULT_THROTTLE_RATES进行全局配置,REST_FRAMEWORK = { 'DEFAULT_THROTTLE_CLASSES': ( 'rest_framework.throttling.An...原创 2018-12-13 18:25:08 · 889 阅读 · 1 评论 -
DFR 框架总结 - 权限 Permissions
权限Permissions权限控制可以限制用户对于视图的访问和对于具体数据对象的访问。在执行视图的 dispatch() 方法前,会先进行视图访问权限的判断在通过 get_object() 获取具体对象时,会进行对象访问权限的判断使用可以在配置文件中设置默认的权限管理类,如REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': (...原创 2018-12-13 18:22:37 · 644 阅读 · 0 评论 -
DRF 框架总结 - 认证 Authentication
认证Authentication可以在配置文件中配置全局默认的认证方案REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.BasicAuthentication', # 基本认证 'rest_framework.authentica...原创 2018-12-13 18:21:05 · 418 阅读 · 0 评论 -
DRF 框架总结 - 视图集&路由 Routers
视图集 ViewSet使用视图集 ViewSet,可以将一系列逻辑相关的动作放到一个类中:list() 提供一组数据retrieve() 提供单个数据create() 创建数据update() 保存数据destroy() 删除数据ViewSet 视图集类不在实现 get(), post() 等方法,而是实现 action 如 list()、create()等。视图...原创 2018-12-13 18:18:19 · 331 阅读 · 4 评论 -
Django 框架 - Django介绍
Django 介绍python web 框架要点原创 2018-12-01 18:05:45 · 218 阅读 · 0 评论 -
配置Django实现数据库读写分离
配置Django实现数据库读写分离django在进行数据库操作的时候,读取数据与写数据(增、删、改)可以分别从不同的数据库进行操作。1. 在配置文件中增加slave数据库的配置DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '192.168.195.140...原创 2018-11-29 13:35:08 · 168 阅读 · 0 评论 -
Django 项目总结(7)- 页面静态化
页面静态化原创 2018-11-28 13:39:24 · 606 阅读 · 0 评论 -
Django 项目总结(6)-商品部分
商品表设计原创 2018-11-28 13:31:36 · 625 阅读 · 0 评论 -
Django 中使用 FastDFS
Django 中使用 FastDFS原创 2018-11-24 09:22:19 · 360 阅读 · 0 评论 -
Django 项目总结(5)- 地址管理
省市区地址的三级联动及 Django 缓存使用原创 2018-11-23 21:16:31 · 414 阅读 · 0 评论 -
Django 项目总结(4)- 用户中心个人信息
用户中心个人信息原创 2018-11-23 21:11:04 · 1693 阅读 · 0 评论 -
Django 项目总结(3)- 第三方登录(QQ登录)
第三方登录 QQ 登录原创 2018-11-23 21:09:17 · 645 阅读 · 0 评论 -
Django 项目总结(2)- 忘记密码
找回密码找回密码步骤输入账号(用户名或手机号)与图片验证码来获取用户手机号,以便对操作人进行身份认证发送短信验证码,完成身份认证填写两次新密码,并提交完成密码重置第一步——这一步主要是判断用户的账号是否存在:输入账号和图片验证码,发送请求到后端,以 get 方式,参数拼接在链接后面;后端对账号进行验证,调用之前的方法,可以同时判断手机号和账号名,查看有没有当前用户;使...原创 2018-11-23 21:07:20 · 1295 阅读 · 0 评论 -
Django 项目总结(1)- 注册及登录
项目准备美多商城是一种 B2C 的商业模式,即企业对个人,这种模式一般是网上购物,代表有京东、淘宝。需求分析用户模块商品模块购物车模块订单模块支付模块项目架构- 项目采用前后端分离的应用模式- 前端使用 vue.js- 后端使用 Django REST framework- 数据库使用:mysql、redis- 异步服务:celery- 分布式服务:F...原创 2018-11-23 21:05:07 · 590 阅读 · 4 评论 -
Django 项目总结(8)- 用户浏览历史记录
用户浏览历史记录原创 2018-11-28 13:40:45 · 2663 阅读 · 0 评论 -
Django 项目总结(9)- 商品列表页
商品列表页原创 2018-11-28 13:41:57 · 791 阅读 · 0 评论 -
Django 项目总结(10)- 商品搜索
商品搜索原创 2018-11-28 13:45:52 · 343 阅读 · 0 评论 -
MySQL主从同步配置
MySQL主从同步mysql 主从同步作用:读写分离分流,减轻服务器压力数据备份80% 查询,20% 写入,主从同步流程:主和从库的数据保持一致做法:备份主库,然后在从库恢复mysql 任何操作都可以写到日志文件中(默认关闭,需要开启);从库可以实时读取主库的日志文件,然后将主库的操作也执行一遍,从而达到同步从库访问主库日志,需要登录主库,从而需要让主库为从...原创 2018-11-29 13:34:57 · 152 阅读 · 0 评论 -
Django Xadmin
xadmin:主题切换 用户模块自定制用户模块自定制 字段list_display 控制列表展示的字段search_fields 控制可以通过搜索框搜索的字段名称,xadmin使用的是模糊查询list_filter 可以进行过滤操作的列ordering 默认排序的字段readonly_fields 在编辑页面的只读字段exclude 在编辑页面隐藏的字段list_edi...原创 2018-11-29 13:34:18 · 157 阅读 · 0 评论 -
Django 项目总结(12)- 支付部分
支付部分基本功能:使用支付宝支付创建数据库模型类,用来保持订单 id 和对应当前订单在支付宝那里的支付编号支付流程类似于 QQ 登录使用支付宝支付,需要先注册应用 ID,不过开发过程中也可以先使用沙箱环境进行开发,支付宝开发文档支付宝开发没有对应的 python 的 SDK ,不过 python 的大佬在 github 上写出了 python 的 SDK,直接使用即可...原创 2018-11-29 13:33:58 · 209 阅读 · 0 评论 -
MySQL 的事务隔离级别
MySQL 的事务隔离级别事务隔离级别指的是在处理同一个数据的多个事务中,一个事务修改数据后,其他事务何时能看到修改后的结果。MySQL数据库事务隔离级别主要有四种:Serializable 串行化,一个事务一个事务的执行Repeatable read 可重复读,无论其他事务是否修改并提交了数据,在这个事务中看到的数据值始终不受其他事务影响Read committed 读取已提交,其他...原创 2018-11-28 13:54:02 · 106 阅读 · 0 评论 -
Django 中订单并发处理
并发处理在多个用户同时发起对同一个商品的下单请求时,先查询商品库存,再修改商品库存,会出现资源竞争问题,导致库存的最终结果出现异常。解决办法:悲观锁当查询某条记录时,即让数据库为该记录加锁,锁住记录后别人无法操作,使用类似如下语法select stock from tb_sku where id=1 for update;SKU.objects.select_for_update...原创 2018-11-28 13:52:40 · 1617 阅读 · 0 评论 -
Django 中数据库事务操作
数据库事务当涉及到多张表的数据修改,对这些数据的修改应该是一个整体事务,即要么一起成功,要么一起失败Django 中对于数据库的事务,默认每执行一句数据库操作,便会自动提交。需要自己控制数据库事务的执行流程在Django中可以通过django.db.transaction模块提供的atomic来定义一个事务,atomic提供两种用法装饰器用法from django.db im...原创 2018-11-28 13:51:08 · 342 阅读 · 0 评论 -
Django 项目总结(12)- 订单部分
订单部分基本功能:提交订单、保存订单创建订单数据表,分为两个表,一个订单基本信息表,一个订单商品表订单结算get 请求用户点击去结算,跳转到提交订单页面同时向后端发送请求后端从 redis 数据库中查询出已勾选的 sku_id,查询出对应的商品信息还需要添加上运费,在这里运费是写死的,没有进行计算,这个都好说,运费字段要使用 python 自带的 decimal 库中...原创 2018-11-28 13:49:48 · 1406 阅读 · 0 评论