首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

重点内容回顾-DRF

重点内容回顾-DRF 1. on_delete on_delete是定义模型类中外键的一个选项。 on_delete选项指明的是主表删除数据的时候,对于外键引用的表数据如何处理。...上面的命令的意思就是『此文件给所有的用户添加执行权限』 +代表的是增加权限、-代表的是撤销权限、=代表的是设定权限 r代表可读权限,就是可以通过 ls命令查看这个目录的内容。...序列化:将模型对象转换为字典或者json数据的过程。 反序列化:将前端传递的数据保存到模型对象的过程。 5.4序列化器Serializer 5.4.1功能 进行数据的序列化和反序列化。...Response类的对象:传入原始的响应数据,会自动根据客户的请求头中 Accept将响应数据转换为对应的格式进行返回,默认是json,支持json和html 3.异常处理:如果视图中抛出了未处理异常...团队开发注意事项 浅谈密码加密 Django框架的英文单词 Django数据库的相关操作 DRF框架的英文单词

2.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

DRF框架学习(四)

DRF框架学习(四) 1.视图集对象的action属性 作用: 获取现在要执行的是哪一种操作。 self.action:是字符串类型,目的是获取所有执行的操作。...全局认证就是针对我们所有的接口。...在执行视图的dispatch()方法前,会先进行视图访问权限的判断 在通过get_object()获取具体对象时,会进行对象访问权限的判断 DRF框架提供了四个权限控制类: AllowAny允许所有用户...(默认的) IsAuthenticated通过认证的用户 IsAdminUser仅管理员用户 IsAuthenticatedOrReadOnly认证的用户可以完全操作,否则只能get读取 5.1使用...我们可以在配置文件设置全局的分页方式,: REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': '', 'PAGE_SIZE'

2.7K40

5.寻光集后台管理系统-用户管理(序列化器)

序列化器 drf的核心概念。 drf提供了一个serializer类,它可以非常方便的序列化模型对象查询集为json或者其他形式的内容。...序列化 obj->json/html 反序列化 json->obj 小结 在处理请求到服务器的时候会对数据进行反序列化成python的对象然后再处理 在发送请求到前端时,会将python对象转化成json...'error_messages': { 'min_length': '允许6-20个字符的用户名', 'max_length': '允许...return value 注册账号,其实就是往用户插入一条用户信息,但是我们用户其实是没有password_confirm字段的,所以注册的时候需要剔除它 所以需要重写下create方法 def...fields = ('id', 'username', 'password', 'password_confirm', 'email', 'mobile', 'name') # model指定的模型有的字段

34530

美多商城项目(五)

数据缓存:把经常被用户访问的数据放到缓存(redis),当用户来访问时,直接从缓存获取数据进行返回,只有缓存不存在时才查询数据库。...并且在查询出数据,返回结果之前,先将查询的结果存到缓存,便于下次使用。 2.2使用缓存 在Django REST framework中使用缓存,可以通过 drf-extensions扩展来实现。...在用户模型类中有一个小点回顾一下: ordering 表示的是表名在进行Address查询时,默认使用的排序方式。默认是升序,如果想改为降序,只需要在前面添加一个减号 -。...3.1设置默认地址 可以在用户地址模型添加一个标记 is_default,如果是默认地址,将标记改为True。...团队开发注意事项 浅谈密码加密 Django框架的英文单词 Django数据库的相关操作 DRF框架的英文单词 重点内容回顾-DRF

1.2K30

DRF系列总结二:脚手架搭建

,在Django基础工程的基础上,安装DRF并进行配置:比如统一接口返回格式、统一异常处理等,并在后面的文章,不断完善出一套DRF脚手架,以降低后面的开发同学的趟坑成本。...rest_framework.authentication.SessionAuthentication', # 'rest_framework.authentication.BasicAuthentication', ], # 接口权限设置:支持登录用户访问...,允许经过身份验证的注册用户访问接口; 这里的接口认证策略,去掉了HTTP基本认证的方式(接口提供账号密码),保留了使用Django默认session后端进行身份验证的机制,适用于与网站在相同的Session...filtering rest endpoints ... ) 通过引入django_filters的DjangoFilterBackend,我们可以通过配置的方式对外快速提供Django模型查询接口...的视图类增加以下配置(具体配置参见文档),即可实现name、code、is_activated三个字段的综合查询接口:/systems/?

3.6K60

Django 和 Keystone.js 的详细对比

特性:模式定义简单,支持复杂查询和关系处理。Django:特点:Django 自带一个强大的 ORM,支持多种数据库( PostgreSQL、MySQL、SQLite 和 Oracle)。...特性:模型定义清晰,支持复杂查询、关系和数据迁移。Django ORM 提供了丰富的 API 和查询集方法,便于处理复杂的数据关系和操作。3....Django:特点:内置强大的用户认证和授权系统,支持用户注册、登录、密码重置和权限管理。特性:Django 的认证系统可以轻松扩展,支持自定义用户模型、权限和组管理。...特性:DRF 提供了丰富的工具和特性(序列化、认证、权限、分页等)用于构建复杂的 REST API。...特性:Django 提供了 gettext、LOCALE_PATHS、翻译文件和中间件,便于处理多语言和国际化需求。9.

10500

DRF框架学习(二)

1.Restful API接口实现 1.1需求实现思路 1、获取指定的图书信息: 1)根据pk获取指定的图书对象(pk由查询字符串的形式传给后端) 2)将图书的json数据返回,状态码:200 2、修改指定的图书信息...2.明确RestAPI接口实现时的主要工作 2.1序列化&反序列化 把程序的数据结构类型转换为其他格式的数据,这个过程叫做序列化的过程 例:将模型对象转换为字典或者json数据的过程,就叫做序列化的过程...把其他格式的数据转换为程序数据结构类型,这个过程叫做反序列化的过程。 例:将前端传递的数据保存到模型对象的过程,叫做反序列化过程。...把前端发送的数据反序列化为模型对象,并保存到数据库。...需要以下依赖: Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6) Django (1.10, 1.11, 2.0) DRF是以Django扩展应用的方式提供的,所以我们可以直接利用已有的

4.1K30

让你的Django应用变DRY的几个最佳实践

注意:在使用到用户模型的时候,要使用django.contrib.auth.get_user_model()而不是导入具体的model类,这样可以方便用AUTH_USER_MODEL配置去改变用户模型。...request, user=None, password=None): if check_user_password(user, password): # 返回用户对象...raise PermissionDenied() def get_user(self, user_id): # 若通过浏览器访问则需要定义次方法,获取已登录的用户对象...在Django+DRF异常处理有两个重载点: 中间的process_exception函数 DRF的EXCEPTION_HANDLER配置 而其中EXCEPTION_HANDLER的作用时间早于中间件...,这就导致了有些DRF内置的异常,在到达中间件之前已经渲染为正常的响应了,这明显不是我们期望的效果,所以我们选择第二个重载点。

1.7K50

drf之请求、响应、视图

如果前端请求未进行Accept声明,则会采用默认方式处理响应数据,我们可以通过配置来修改默认响应格式。 可以在rest_framework.settings 查找所有的drf默认配置项。...-request 当前视图的请求对象 -view 当前请求的类视图对象 -format 当前请求期望返回的数据格式 提供的关于数据库查询的属性与方法 属性:queryset  指明使用的数据查询集...(self) :返回详情视图所需的模型类数据对象,主要用来提供给Mixin扩展类使用。...在试图中可以调用该方法获取详情信息的模型对象。**若详情访问的模型对象不存在,会返回404。...,查询了所有的图书 # serializer_class使用哪个序列化类来序列化这堆数据 queryset = Book.objects # queryset=Book.objects.all

2.1K20

django优雅的实现软删除,支持Admin和DRF的软删除

同样的,DRF对外操作的其他接口,查询,修改操作,就不允许找到已经软删除的数据。 自带的Admin 既然是超级管理后台,那么就允许操作任何数据,包括已经软删除的,而不是列表找不到软删除的数据。...简而言之: drf找不到删除的数据,admin需要全部数据 drf和admin删除数据都是软删除 解决方案 DRF Django Manager 赋予了 Django的模型(Model)操作数据库的能力...也就是:Book.objects.all()的objects。有没有想过它到底是什么? 显然,默认的模型Manager并不能解决我们的问题,所以我们需要自定义模型的Manager。...class ModelManager(models.Manager): # 重写get_queryset方法 def get_queryset(self): # 查询出所有的数据...可以发现,由于模型Manager的加持,直接把is_deleted的数据一并过滤了。但是我们并不想如此。 所以第一反应,就是去注册模型的地方,重写模型查询

2.1K40

DRF框架的英文单词

4. filter/'fɪltɚ/过滤,我们在DRF框架的高级功能,就有过滤这一项。可以在url地址传参数,我们进行过滤。 5....序列化这个定义很很重要,给大家强调一下:在Django,我们可以简单的理解为将模型对象转化成字典或字符串的这个过程。反过来就是反序列化,但是没有单词,哈哈,又少记忆一个单词。...20. model/'mɑdl/模型,我们在很多的时候都用到了这个单词,在DRF框架我们在下面的情况中用到了这个单词。指明该序列化器处理的数据字段从模型类BookInfo参考生成。...Authentication/ɔ,θɛntɪ'keʃən/认证,我们DRF框架的高级功能之一。 34. Permissions/pə:'miʃənz/权限,我们DRF框架的高级功能之一。 35....Throttling/'θrɔtliŋ/限流,我们DRF框架的高级功能之一。 36. Pagination/,pædʒɪ'neʃən/分页,我们DRF框架的高级功能之一。 37.

1.7K30

接口文档如何去写?

一个创建用户的例子:创建用户 这样组织的原因 文档提供的形式 DRF 自动生成接口文档 我们知道前后端分离,前端一般按后端写好的接口去开发,那么就需要我们明细后端接口数据等,需要写接口文档,前端按照接口文档去开发...两点说明: 1) 视图集ViewSet的retrieve名称,在接口文档网站叫做read 2)参数的Description需要在模型类或序列化器类的字段以help_text选项定义,: class...age=&gender= 数据模型定义 数据模型定义包括: 路径与查询字符串参数模型 请求体参数模型 响应体参数模型 数据模型的最小数据集: 名称 是否必须 说明 “最小数据集”(MDS)是指通过收集最少的数据...,较好地掌握一个研究对象所具有的特点或一件事情、一份工作所处的状态,其核心是针对被观察的对象建立起一套精简实用的数据指标。...请在控制台修改最大创建人数 这样组织的原因 请求示例: 请求示例放在第一位的原因是,要用最快的方式告诉开发者,这个接口应该如何请求 路径与查询字符串参数模型: 使用mustache包裹参数 请求体参数模型

1.3K10

Django+Vue开发生鲜电商平台之5.使用DRF实现商品列表页和过滤

但是从代码可以看到: 通过在新建列表、其元素为单个商品信息组成的字典,一个一个地添加,显得很麻烦,可进行改进; 有些字段不能直接用json.dumps()方法序列化,datetime,会报错,商品列表视图修改为如下时...如果报错__str__ returned non-string (type NoneType),可以通过退出登录后台管理或者修改自定义的用户模型的__str__()方法解决,具体可参考https://blog.csdn.net...Django中有Form,也有ModelForm,DRF也有ModelSerializer,相比于Serializer,它省去了模型所有字段的添加和处理数据方法的实现,serializers.py简化如下...搜索的使用 DRF的SearchFilter类基于Django-admin的搜索功能,支持简单的基于单个查询参数的搜索。...还可以通过在字段前面加上各种字符来限制搜索行为search_fields: '^'开始搜索 '='完全匹配 '@'全文搜索(当前支持Django的MySQL后端) '$'正则表达式搜索 修改如下:

5.3K20

python测试开发django-169.过滤器django-filter 入门使用

python:3.5、3.6、3.7、3.8 django:2.2、3.0、3.1 DRF : 3.10+ 简单入门 Django-filter 提供了一种基于用户提供的参数过滤查询集的简单方法。...假设我们有一个Product模型,我们想让我们的用户过滤他们在列表页面上看到的产品。...,默认查询全部,可以根据name/price/release_date查询 该form属性包含一个普通的 Django 表单,当我们遍历 时,FilterSet.qs我们会得到结果查询集中的对象。...例如,您可以将博客文章过滤为发布的文章和登录用户有的文章)。...类fields序列的项目Meta可能包括“关系路径”,使用 Django 的__语法过滤相关模型上的字段: class ProductFilter(django_filters.FilterSet)

2.2K20

Django+Vue开发生鲜电商平台之8.商品详情页功能实现

三、用户收藏功能实现 1.用户收藏接口实现 用户收藏属于用户操作,所以在apps/user_operation实现。...2.DRF权限验证 通常,进行身份验证或标识不足以获取信息或代码。为此,请求访问的实体必须具有授权。权限与身份验证和限制一起,确定是否应准予请求访问或拒绝访问。...(permissions.BasePermission): '''对象级别的权限,允许对象的所有者对其进行编辑''' def has_object_permission(self,...可以看到,先在DRF后台增加收藏,然后在Postman模拟访问获取到JWT后再删除,显然,只能删除用户自己的收藏,而不能删除其他用户的收藏。...3.前端Vue实现收藏功能 GenericAPIView有一个属性为lookup_field,用于执行单个模型实例的对象查找的模型字段,即查询单一数据库对象时使用的条件字段,默认为pk,即主键。

1.1K20

安装 Django REST Framework

安装Django REST Framework(以下简称DRF)非常简单。您只需按照以下步骤操作:创建一个新的Django项目或使用现有的Django项目。在命令行中使用pip命令安装DRF。...'rest_framework',]这将允许您使用DRF的所有功能。现在您已经安装了DRF,接下来我们将介绍一些基本的用法和示例。创建序列化器序列化器是DRF的一个核心概念。...我们指定了User模型作为序列化器的元数据,并指定了我们想要在JSON包含的字段。创建视图视图是DRF的另一个核心概念。它们定义了API的行为,即如何响应请求、如何验证输入等。...我们指定了我们想要返回的所有用户查询集,并指定了用于序列化数据的序列化器。创建路由路由是将URL映射到视图的一种机制。在DRF,我们可以使用Django的URLConf和DRF的路由器来定义路由。...现在,您可以在浏览器访问http://localhost:8000/users/,应该能够看到所有用户的JSON格式数据。上面的示例只是DRF的入门示例。

1.4K20
领券