django-rest-framework相关内容

Appropriate choice of authentication class for python REST API used by web app

我想使用 Django REST 框架构建一个 REST API.最初它的客户端是一个网络应用程序,但可以想象未来的客户端可能包括移动应用程序. 不幸的是,我发现文档中列出的身份验证类列表有点令人困惑.看起来 TokenAuthentication 可以满足我的需求.除非有令人信服的安全理由,否则我宁愿避免 OAuth 的认知开销. 这是我想在这个非常早期的阶段做出正确的决定.任何人都 ..
发布时间:2021-12-08 23:14:15 Python

RESTful API 的令牌认证:令牌是否应该定期更改?

我正在使用 Django 和 django-rest-framework 构建 RESTful API. 作为身份验证机制,我们选择了“令牌身份验证",我已经按照 Django-REST-Framework 的文档实现了它,问题是,应用程序是否应该定期更新/更改令牌,如果是,如何更新?应该是移动应用程序需要更新令牌,还是网络应用程序应该自动完成? 最佳实践是什么? 这里有人对 D ..
发布时间:2021-12-08 23:08:00 其他开发

对 Django Rest Framework 上的嵌套序列化程序的唯一验证

我有一个这样的案例,您有一个带有唯一字段的自定义嵌套序列化程序关系.示例案例: class GenreSerializer(serializers.ModelSerializer):元类:fields = ('name',) #这个字段是唯一的模型 = 流派类 BookSerializer(serializers.ModelSerializer):流派 = GenreSerializer()元类 ..
发布时间:2021-12-08 23:02:50 Python

如果用户尝试使用错误的用户名/密码登录,但格式正确,返回的适当 HTTP 状态代码是什么?

这里发布了一个类似的问题:REST API 服务在验证失败时返回的适当 HTTP 状态代码是什么? 上面线程中的答案指出“例如,如果 URI 应该具有 ISO-8601 日期,而您发现它的格式错误或指的是 2 月 31 日,那么您将返回 HTTP 400.同上如果您希望实体主体中的 XML 格式正确,但它无法解析." 但是,如果用户提交的数据格式正确,会发生什么?我的意思是,用户提交了 ..
发布时间:2021-12-08 23:00:17 其他开发

Django Rest Framework:在创建对象后禁用字段更新

我正在尝试通过 Django Rest Framework API 调用使我的用户模型成为 RESTful,以便我可以创建用户并更新他们的个人资料. 但是,当我对我的用户进行特定的验证过程时,我不希望用户能够在他们的帐户创建后更新用户名.我尝试使用 read_only_fields,但这似乎在 POST 操作中禁用了该字段,因此我无法在创建用户对象时指定用户名. 我该如何实施?现在存在 ..
发布时间:2021-12-08 22:57:45 其他开发

Django REST Framework 序列化程序字段 required=false

来自文档: 只读将此设置为 True 以确保在序列化表示时使用该字段,但在反序列化期间更新实例时不使用该字段. 默认为 False 必填通常,如果在反序列化期间未提供字段,则会引发错误.如果在反序列化期间不需要此字段,则设置为 false. 默认为 True. 所以我有一个模型,它有一个不可为空的字段,但我希望它被填充到 pre_save 方法中,所以我在序列化程序中 ..
发布时间:2021-12-08 22:50:26 Python

Django Rest Framework 可写嵌套序列化器

我正在编写一个食谱组织者作为一个班级的示例项目.除了使用一些非常基本的功能之外,我对 DRF 的经验不是很丰富.这是目标: 创建具有相关成分的新配方.在创建 Recipe 对象的同时创建 Ingredient 对象. models.py: class Ingredient(models.Model):name = models.CharField(max_length=100)def ..
发布时间:2021-12-02 19:45:59 Python

Django REST Framework 中序列化程序验证的顺序

情况 在 Django REST Framework 的 ModelSerializer 中使用验证时,我注意到 Meta.model 字段总是经过验证,即使它不一定有意义这样做.以User 模型的序列化为例: 我有一个创建用户的端点.因此,有一个 password 字段和一个 confirm_password 字段.如果两个字段不匹配,则无法创建用户.同样,如果请求的 usernam ..
发布时间:2021-12-02 19:41:27 Python

Django Rest Framework:动态返回字段子集

问题 如博客文章中推荐的那样最佳实践设计一个实用的 RESTful API,我想向基于 Django Rest 框架的 API 添加一个 fields 查询参数,它使用户能够为每个资源只选择字段的子集. 示例 序列化器: class IdentitySerializer(serializers.HyperlinkedModelSerializer):元类:模型 = 模型.身份字 ..
发布时间:2021-12-02 19:40:53 其他开发

如何将 Django OAuth Toolkit 与 Python Social Auth 结合使用?

我正在使用 Django Rest Framework 构建 API.稍后这个 API 应该被 iOS 和 Android 设备使用.我想允许我的用户注册像 Facebook 和谷歌这样的 oauth2 提供商.在这种情况下,他们根本不需要在我的平台上创建帐户.但是用户在没有 Facebook/Google 帐户时也应该能够注册,我使用的是 django-oauth-toolkit,所以我有自己的 ..
发布时间:2021-12-02 19:39:55 Python

Django Rest 框架和 JSONField

给定一个带有 JSONField 的 Django 模型,使用 Django Rest 框架? 我已经尝试创建自定义 serializers.WritableField 并覆盖 to_native 和 from_native: from json_field.fields import JSONEncoder, JSONDecoder从 rest_framework 导入序列化程序类 JS ..
发布时间:2021-12-02 19:37:35 Python

如何在 Django Rest Framework 中过滤嵌套的序列化程序?

在 Django Rest Framework 中,如何过滤嵌套在另一个序列化程序中的序列化程序? 我的过滤器被强加在 DRF 视图集中,但是当你从另一个序列化器内部调用一个序列化器时,嵌套序列化器的视图集永远不会被调用,所以嵌套的结果看起来是未经过滤的. 我尝试在原始视图集上添加过滤器,但它似乎没有过滤嵌套结果,因为嵌套结果被称为单独的预提取查询.(嵌套序列化程序是反向查找,你看.) ..
发布时间:2021-12-02 19:35:26 其他开发

Django Rest Framework - 无法使用视图名称“user-detail"解析超链接关系的 URL;

我正在 Django Rest Framework 中构建一个项目,用户可以在其中登录以查看他们的酒窖.我的 ModelViewSets 工作得很好,突然间我收到了这个令人沮丧的错误: 无法使用视图名称“user-detail"解析超链接关系的 URL.您可能没有在 API 中包含相关模型,或者错误地配置了该字段的 lookup_field 属性. 回溯显示: [12/Dec/20 ..
发布时间:2021-12-02 19:32:27 Python

如何在 Django REST 框架中注册用户?

我正在使用 Django REST 框架编写 REST API.该 API 将成为社交移动应用程序的后端.按照教程进行操作后,我可以序列化我的所有模型,并且可以创建新资源并更新它们. 我使用 AuthToken 进行身份验证. 我的问题是: 拥有 /users 资源后,我希望应用程序用户能够注册.那么,是拥有像 /register 这样的单独资源还是允许匿名用户向 /users ..
发布时间:2021-12-02 19:29:11 其他开发

你如何使用带有参数列表的 django-filter 包?

我想用 django-filter 过滤我的模型.如果我通过一个 id 过滤它工作正常: http://localhost:8000/accommodations?accommodationType_id=1 但我不知道如何通过多个 id 进行过滤. http://localhost:8000/accommodations?accommodationType_id=1,2 我实际的 Vie ..
发布时间:2021-12-02 19:28:45 其他开发

Django 序列化程序 Imagefield 以获取完整 URL

我是 Django 的初学者,目前我可以构建这样的模型. 模型.py class Car(models.Model):name = models.CharField(max_length=255)价格=models.DecimalField(max_digits=5,decimal_places=2)photo = models.ImageField(upload_to='cars') ..
发布时间:2021-12-02 19:28:03 Python

Django REST Framework POST 嵌套对象

我现在在使用 Django Rest Framework 时遇到了一个小问题.我正在尝试发布一个包含嵌套对象的对象. 这是我的serializers.py: class ClassSerializer(serializers.ModelSerializer):元类:模型 = 类字段 = ('数字', '字母')类 SubjectSerializer(serializers.ModelSer ..
发布时间:2021-12-02 19:24:41 Python