Django REST框架构建Web API。...Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。 ? ?...如何在 serializers 中获取登录用户? 采用上下文 ? ?...在 views 视图中使用 mixins 时,post 请求的 create 方法,patch 请求的 update 方法,都会在对应的 mixins 特定类中执行 serializer.save()。...ModelSerializer 自动产生基于模型的 fields 自动产生验证器,比如 unique_together 验证器 默认包含 create 和 update 方法,外键被映射为 PrimaryKeyRelatedField
用我们的序列化来写常规的Django视图 让我们看看,使用我们新的序列化类,我们怎么写一些API视图。此刻,我们不会使用REST框架的其他特性,仅仅像写常规Django视图一样。...REST框架为每个状态码`(status code)`提供更明确的标识符,例如在状态`(status)`模型中的`HTTP_400_BAD_REQUEST`。...相似地,虽然我们可以在响应对象中带数据,但允许REST框架渲染响应成正确的内容类型。...在实体之间使用超链接。 在相关的实体上使用独一无二的slug。 使用相关的实体的默认字符串。 在父表述使用嵌套的实体。 一些自定义的表述。...REST框架支持以上所有方式,都能适应正向或者反向关系,或者就行使用一般的外键一样使用自定义的管理方式。 这种情况下,我们想要在实体之间使用超链接方式。
9、MySQL索引种类 10、索引在什么情况下遵循最左前缀的规则? 11、主键和外键的区别? 12、MySQL常见的函数? 13、列举 创建索引但是无法命中索引的8种情况。...46、基于django使用ajax发送post请求时,都可以使用哪种方法携带csrf token? 47、django中如何实现orm表中添加数据时创建一条日志记录。...62、Http和Https的区别? 63、为什么要使用django rest framework框架? 64、django rest framework框架中都有那些组件?...65、django rest framework框架中的视图都可以继承哪些类? 66、简述 django rest framework框架的认证流程。...67、django rest framework如何实现的用户访问频率控制? 68、Flask框架的优势? 69、Flask框架依赖组件? 70、Flask蓝图的作用?
URLField、EmailField和其他整数字段类似,Django将使用url、email和number这样的HTML5输入类型。...如果你想禁用这个行为,请设置form标签的novalidate属性,或者制定一个不同的字段,如TextInput。...根据不同时区显示数据 如: 数据库中 2016-12-27 04:10:57 setting中的配置 TIME_ZONE = ‘Asia/Shanghai’ USE_TZ = True 则显示:...views.py def user_list(request): li = models.UserInfo.objects.all().select_related('user_type') # 这里只能是外键...补充知识:Django——rest序列化(自定义serializers) from django.shortcuts import render from rest_framework.views import
58.Http和Https的区别? 59.为什么要使用django rest framework框架? 60.django rest framework框架中都有那些组件?...61.django rest framework框架中的视图都可以继承哪些类 62.简述 django rest framework框架的认证流程。...63.django rest framework如何实现的用户访问频率控制? 64.Flask框架的优势?...例如,身份证证号 外键:用于与另一张表的关联,是能确定另一张表记录的字段,用于保持数据的一致性 主键 外键 定义 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一张表的主键,外键可以有重复的...61.django rest framework框架中的视图都可以继承哪些类 ? ? ? a.
外键 PrimaryKeyRelatedField interfaces/serializer.py中创建序列化器 from rest_framework import serializers from...project = PrimaryKeyRelatedField(help_text='所属项目', label='所属项目', queryset=Projects.objects.all()) 数据库模型中的外键字段默认会生产...Request 对Django中的HttpRequest进行拓展 根据请求头中的Content-Type自动进行解析 无论前端发送那种格式数据,都可以以相同的方式读取 request.data 类似于Django...中的request.POST和request.FILES 可以对POST,PUT,PATCH的请求体进行解析 支持form表单传参,支持json格式传参 request.query_params 类似Django...中的request.GET 获取查询字符串参数 支持Django.request中所有的对象和方法 优化视图-渲染 from rest_framework.response import Response
在基于模板引擎的开发方式中,博客首页文章列表的视图函数可能是这样的: from django.shortcuts import render from .models import Post def...在转换过程中,还会进行数据合法性的校验。 先来看一个简单的例子(摘自 django-rest-framework 官网示例),理解序列化器的工作原理和功能。...回顾我们在上一步教程的 交流的桥梁:评论功能 中对评论表单的定义,我们通过继承 ModelForm 定义了表单,而并没有显示地指定表单字段的类型。...Meta 中指定关联的模型,以及需要序列化的模型属性,django-rest-framework 就会根据各个属性的数据类型,自动推测需要使用的系列化字段,从而生成标准的序列化器。...不过在后续的教程中,我们学习前端框架 Vue,那个时候,RESTful API 就有了它的用武之地了。
设计表时,尽量少使用外键,因为外键约束会影响插入和删除性能 使用缓存,减少对数据库的访问 orm框架下设置表时,能使用varchar确定字段长度时,就别用text 可以给搜索频率搞得字段属性,在定义时创建索引...它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。...我们需要关注的重点是如何设计 REST 风格的网络接口。 REST 的特点 具象的。一般指表现层,要表现的对象就是资源。比如,客户端访问服务器,获取的数据就是资源。比如文字、图片、音视频等。...浏览器通过URL 确定资源的位置,但是需要在HTTP 请求头中,用Accept 和Content-Type 字段指定,这两个字段是对资源表现的描述。 状态转换:客户端和服务器交互的过程。...在这个过程中,一定会有数据和状态的转化,这种转化叫做状态转换。其中,GET 表示获取资源,POST 表示新建资源,PUT 表示更新资源,DELETE 表示删除资源。
大家可以在了解了Django框架和DRF框架之后再来看这篇文章。否则会有点不知所云。...class Meta: db_table = '' 定义外键属性 hbook = models.ForeignKey(BookInfo, on_delete=models.CASCADE..., verbose_name='图书') # 外键 cascade是级联,删除主表数据时连同外键表中数据一起删除 1.12.3迁移生成表 1)生成迁移文件 python manage.py makemigrations...多对象.外键属性 例:hero.hbook 2....books = BookInfo.objects.filter(heroinfo__hcomment__contains='八') 查英雄(多) 多类.objects.filter(外键属性
但是我们学习 django-rest-framework 不仅仅是为了写博客,也许你在工作中,面对的是流量非常大的系统,这时候缓存就不可或缺。...配置缓存 django 为我们提供了一套开箱即用的缓存框架,缓存框架对缓存的操作做了抽象,提供了统一的读写缓存的接口。...drf-extensions Cache django 的缓存框架比较底层,drf-extensions 在 django 缓存框架的基础上,针对 django-rest-framework 封装了更多缓存相关的辅助函数和类...我们需要用到的主要有这些: KeyConstructor 可以理解为缓存键生成类。...action)和 retrieve(获取单篇文章),timeout 参数用于指定缓存失效时间, key_func 指定缓存 key 的生成类(即 KeyConstructor),当然 PostListKeyConstructor
跟着官方文档学Python Django Rest framework 这周将会持续更新跟着官方文档学Python系列文章,主要是围绕web框架以及其他后端组件的官方文档展开学习。...通过GET/ POST/ PUT/ DELETE来获取/新建/更新/删除资源。一般使用JSON格式返回数据。大多数web框架都有相应的插件支持RESTful API。...Django Rest framework Django REST framework是一个内置在django里面的子应用,可以快速的开发REST API接口应用。...'rest_framework', ] 在项目中如果使用rest_framework框架实现API接口,主要有以下三个步骤: 将请求的数据(如JSON格式)转换为模型类对象 通过模型类对象进行数据库操作...django的路由列表中 在总路由中添加students子应用的路由 from django.contrib import admin from django.urls import path, include
重点内容回顾-DRF 1. on_delete on_delete是定义模型类中外键的一个选项。 on_delete选项指明的是主表删除数据的时候,对于外键引用的表数据如何处理。...在django.db.models中包含了可选的常量,常用的有三种: a.CASCADE级联,删除主表数据的时候,连同删除外键表中的数据。这个就有点狠了,按需求慎用。...b.PROTECT保护,通过抛出一个异常ProtectedError异常,来阻止删除主表中被外键引用的数据。...,我们还可以补充额外的验证: a.先写一个函数(如about_django)封装补充验证的功能,然后在字段中添加 validators参数,如下: btitle = serializers.CharField...团队开发注意事项 浅谈密码加密 Django框架中的英文单词 Django中数据库的相关操作 DRF框架中的英文单词
Django REST Framework是基于Django的一个用于构建Web API的框架。它提供了许多用于构建Web API的工具和实用程序,其中最常用的是类视图。...类视图是一种Django REST Framework的API视图,它是基于类的视图。它提供了一种方便的方式来编写可重用的Web API视图,并带有许多有用的内置功能。...APIViewAPIView是Django REST Framework中最基本的类视图之一。它提供了一个通用的方式来处理HTTP请求,并返回一个HTTP响应。...在视图中,我们指定了要使用的查询集和序列化器,并使用list,create和destroy方法处理GET,POST和DELETE请求。...总结在Django REST Framework中,类视图是一种方便的方式来编写Web API视图,并带有许多有用的内置功能。
基本介绍 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。...起始行:方法、路由、协议 headers:请求头 K:V 请求体(body):可能为空 请求方法: GET:返回实体主体 HEAD:调试获取报头 POST:向指定资源提交数据进行处理 PUT:更新...创建一对一数据 无外键的模型类,和之前相同 有外键的模型类: wife = Wife.objects.create(name=’王夫人’,author = author1(类属性名称绑实例...)) wife = Wife.objects.create(name=’王夫人’,author_id = 1(类属性字段绑值)) 一对一查询 正向查询:从外键查对象 反向查询:从对象查外键 调用反向属性查询到关联的一方...无外键的模型类,和之前相同 有外键的模型类: 类似上面 wife = Wife.objects.create(name=’王夫人’,author = author1(类属性名称绑实例)
Django静态文件问题备注: 参考: Django测试开发-20-settings.py中templates配置,使得APP下的模板以及根目录下的模板均可生效 解决django 多个APP时 static...文件的问题 django配置app中的静态文件步骤 Django多APP加载静态文件 django.short包参考: 中间件的应用 Django 前后端分离(REST Framework)...在实现SOA的诸多方案中,REST被认为是最适合互联网应用的架构,符合REST规范的架构也经常被称作RESTful架构。...POST:http://www.xxx.com/friends/123表示为指定ID为123的会员新增好友。其他的操作类似就不举例了。...注释掉views.py中的原show_subjects函数,添加如下内容 from django.contrib.auth.models import User, Group from rest_framework
领取专属 10元无门槛券
手把手带您无忧上云