
django
文章平均质量分 63
桂子成
这个作者很懒,什么都没留下…
展开
-
7.9.1DRF之序列化和反序列化概述
7.9.1序列化和反序列化(1)在开发REST接口时,视图中做的最主要的三件事将请求的数据(如:Json格式)转换为模型类对象(反序列化) 操作数据库 将模型类对象转换为响应的数据(如:Json格式)(序列化)(2)序列化1)概念将程序中的一个数据结构类型转化为其它格式(字典、json、XML等)。例如:将django中的模型类对象转换为json字符串,这个转换过程称之为序列...原创 2018-07-16 17:35:58 · 604 阅读 · 0 评论 -
5.1、django之类视图
5.1类视图5.1.1类视图介绍以函数的方式定义的视图称为函数视图。在Django中也可以使用类来定义一个视图,称为类视图。使用类视图可以将视图对应的不同请求方式以类中的不同方法来区别定义。如:from django.views.generic import Viewclass RegisterView(View): """类视图:处理注册""" def get...原创 2018-07-26 23:32:49 · 259 阅读 · 0 评论 -
5.2、django之中间件
5.2.1介绍中间件类似于flask里面的请求钩子,用于监听请求和响应的整个过程5.2.2中间件的定义和使用定义一个中间件工厂函数,然后返回一个可以被调用的中间件。中间件工厂函数需要接收一个可以调用的get_response对象。返回的中间件也是一个可以被调用的对象,并且像视图一样需要接收一个request对象参数,返回一个response对象。def simple_mi...原创 2018-07-26 23:35:15 · 152 阅读 · 0 评论 -
7.4ORM之数据库操作
7.4.1增加数据(1)save()通过创建模型类对象,执行对象的save()方法保存到数据库中如:>>> from booktest.models import BookInfo,HeroInfo>>> from datetime import date>>> book = BookInfo( btitle='西游记'...原创 2018-07-22 17:04:54 · 142 阅读 · 0 评论 -
7.5查询集QuerySet&7.6管理器Manager
7.5.1概念查询集,也称查询结构集、QuerySet,表示从数据库中获取的对象集合7.5.2获取查询集all():返回所有数据filter():返回满足条件的数据exclude():返回满足条件之外的数据order_by():对结果进行排序对查询集可以再次调用过滤器进行过滤如:BookInfo.objects.filter(bread__get=30).ord...原创 2018-07-22 17:06:05 · 160 阅读 · 0 评论 -
7.3ORM模型类
7.3.1模型类的定义from django.db import models#定义图书模型类BookInfoclass BookInfo(models.Model): btitle = models.CharField(max_length=20, verbose_name='名称') bpub_date = models.DateField(verbose_name...原创 2018-07-22 17:15:38 · 170 阅读 · 0 评论 -
7、django之数据库之7.1MYSQL数据库ORM框架介绍&7.2MYSQL数据库驱动
7、数据库7.1MYSQL数据库ORM框架介绍(1)O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思(2)在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操作它所对应的表格中的数据。(3)ORM框架还有一个功能,它可以根据我们设计的类自动帮我们生成数据库中的表...原创 2018-07-22 17:19:41 · 186 阅读 · 0 评论 -
4.3django之缓存
4.3django缓存4.3.1cookie(1)说明当服务器在响应数据的同时,希望写入一些缓存数据到客户端。可以选择在响应的同时,将要写入到客户端的缓存数据写入到用户的浏览器的cookie中(2)创建response对象response = HttpResponse('OK')#response = JsonResponse({"name":"zxj"})#respo...原创 2018-08-03 23:07:30 · 142 阅读 · 0 评论 -
4、django之请求和响应
4.1请求4.1.1利用HTTP协议向服务器传参的几种途径(1)请求行中的路径(2)查询字符串(3)请求体(4)请求头4.1.2使用正则提取URL中的参数(1)位置参数# url(r'^weather1/([a-z]+)/(\d{4})/$', views.weather),def weather1(request, city, year): """...原创 2018-08-19 21:41:28 · 208 阅读 · 0 评论 -
3、django之配置文件、静态文件与路由
3.1配置文件(settings.py)3.2静态文件使用3.2.1配置静态文件的访问# 静态⽂件访问的路由STATIC_URL = '/static/'# 配置静态⽂件加载⽬录STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static_files')]3.2.2准备静态文件1项目根路径/静态文件夹/静态文件项目...原创 2018-08-21 12:34:13 · 644 阅读 · 0 评论 -
2、django之搭建django工程
2.1安装django框架(1)创建虚拟环境mkvirtualenv 虚拟环境名称 -p python3(2)安装框架pip install django==1.11.11(3)复习虚拟环境和pip的命令# 虚拟环境 mkvirtualenv # 创建虚拟环境 rmvirtualenv # 删除虚拟环境 workon # 进入虚拟环境、查看所有虚拟环境 deactivate...原创 2018-08-21 12:36:47 · 238 阅读 · 0 评论 -
6、django之模板
6.1配置在工程中创建模板目录templates。在settings.py配置文件中修改TEMPLATES配置项的DIRS值:'DIRS': [os.path.join(BASE_DIR, 'templates')],6.2模板渲染Django提供了一个函数render用法:render(request对象, 模板文件路径, 模板数据字典)from django.sh...原创 2018-07-26 23:27:18 · 151 阅读 · 0 评论 -
7.7admin站点
7.7admin站点7.7.1使用步骤(1)管理界面本地化(2)创建管理员(3)注册模型类(4)自定义管理页面7.7.2管理界面本地化在settings.py中设置语言和时区LANGUAGE_CODE = 'zh-hans' # 使用中国语言TIME_ZONE = 'Asia/Shanghai' # 使用中国上海时间7.7.3创建超级管理员python ...原创 2018-07-20 21:36:07 · 184 阅读 · 0 评论 -
7.8RESTful
7.8RESTful7.8.1前后端分离介绍(1)前后端不分离图解(2)前后端分离图解7.8.2为什么要学习DRF(1)DRF可以帮助开发者快速的开发一个依托于Django的前后端分离的项目(2)django可以实现前后端分离,但django开发前后端分离的项目周期长,django如果要遵守RESTful设计风格需要自己写对应风格的路由(3)DRF专门实现前后端...原创 2018-07-22 15:56:59 · 318 阅读 · 0 评论 -
7.9.5Serializer序列化器之反序列化操作
7.9.5Serializer序列化器之反序列化操作(1)调用序列化器进行验证使用序列化器进行反序列化时,需要对数据进行验证后,才能获取验证成功的数据或保存成模型类对象。在获取反序列化的数据前,必须调用is_valid()方法进行验证,验证成功返回True,否则返回False。验证失败,可以通过序列化器对象的errors属性获取错误信息,返回字典,包含了字段和字段的错误。如果是非字...原创 2018-07-16 18:14:15 · 1175 阅读 · 0 评论 -
7.9.3Serializer序列化器
7.9.3Serializer序列化器(1)序列化器的作用进行数据的校验 对数据对象进行转换(2)定义序列化器说明 Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer 已有了一个数据库模型类BookInfo,想为这个模型类提供一个序列化器,可以...原创 2018-07-16 18:08:38 · 327 阅读 · 0 评论 -
7.9.6模型类序列化器ModelSerializer
7.9.6模型类序列化器ModelSerializer如果我们想要使用序列化器对应的是Django的模型类,DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。ModelSerializer与常规的Serializer相同,但提供了:基于模型类自动生成一系列字段 基于模型类自动为Serializer生成validators,比如...原创 2018-07-16 20:33:27 · 148 阅读 · 0 评论 -
7.9.4Serializer序列化器之序列化操作
7.9.4Serializer序列化器之序列化操作(1)序列化一个模型对象①查询出一个图书对象>>> from booktest.models import BookInfo>>> book = BookInfo.objects.get(id=1)>>> book<BookInfo: 射雕英雄传>②构造序...原创 2018-07-16 20:43:43 · 484 阅读 · 0 评论 -
7.9.2DRF初体验
7.9.2DRF初体验(1)序列化和反序列化提示1)在序列化和反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的2)在开发REST接口的视图时,虽然每个视图具体操作的数据不用,但增删改查的实现流程基本套路化,所以这部分代码是可以复用简化编写的增:校验请求数据—>执行反序列化过程—>保存数据库—>将保存的对象序列化并...原创 2018-07-16 20:45:20 · 238 阅读 · 0 评论 -
7.9.7视图
7.9.7视图Django REST framwork 提供的视图的主要作用:控制序列化器的执行(检验、保存、转换数据) 控制数据库查询的执行(1)Request1)介绍request对象的数据是自动根据前端发送数据的格式进行解析之后的结果2)属性①.data返回解析request.data返回解析之后的请求体数据。类似于django中标准的request.POST...原创 2018-07-17 08:35:20 · 168 阅读 · 0 评论 -
7.9.8视图集
7.9.8视图集(1)视图集介绍使用视图集ViewSet,可以将一系列逻辑相关的动作放到一个类中:list() 提供一组数据 retrieve() 提供单个数据 create() 创建数据 update() 保存数据 destory() 删除数据ViewSet视图集类不再实现get()、post()等方法,而是实现动作 action 如 list() 、create() 等。...原创 2018-07-18 18:23:28 · 178 阅读 · 0 评论 -
7.9.9路由Routers
7.9.9路由Routers可以使用Routers来帮助我们快速实现路由信息REST framework提供了两个routerSimpleRouter DefaultRouter(1)使用方法1) 创建router对象,并注册视图集,例如from rest_framework import routers router = routers.SimpleRouter()...原创 2018-07-18 18:26:46 · 259 阅读 · 0 评论 -
7.9.10DRF高级功能
7.9.10DRF高级功能(1)认证Authentication1)说明识别登录用户是谁2)配置可以在配置文件中配置全局默认的认证方案REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.BasicAuthentication', # ...原创 2018-07-19 17:24:37 · 623 阅读 · 0 评论 -
1、django之Web框架&django框架介绍
1.1Web应用程序处理流程1.2Web框架的意义(1)用于搭建web应用程序(2)免去不同web应用相同代码部分的重复编写,只需关心Web应用核心的业务逻辑实现1.3Web应用程序的本质(1)接收并解析HTTP请求,获取具体的请求信息(2)处理本次HTTP请求,即完成本次请求的业务逻辑处理(3)构造并返回处理结果——HTTP响应1.4django简介和特点...原创 2018-08-21 12:39:23 · 2456 阅读 · 1 评论