问题标签 [django-rest-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2340 浏览

python - django-rest-framework 教程 4(身份验证和权限)问题

顺利完成教程 1-3 后,我按照教程 (http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html) 完成了“为我们的用户模型添加端点”部分.

(也就是说,添加“url(r'^users/$',views.UserList.as_view()), url(r'^users/(?P[0-9]+)/$',views.UserInstance .as_view())" 完成了。)

然后,我使用“python manage.py runserver”命令运行服务器并将浏览器指向http://127.0.0.1:8000/users/并收到以下错误消息:

(消息开始)

/users/ 处的名称错误

名称“用户”未定义

请求方法:GET

请求网址: http://127.0.0.1:8000/users/

Django 版本:1.4.3

异常类型:名称错误

异常值:未定义名称“用户”

异常位置:Meta 中的 /home/user/tutorial/snippets/serializers.py 第 14 行

(留言结束)

我错过了什么?

我的 serializer.py 中的代码是:

0 投票
1 回答
209 浏览

django-rest-framework - django rest 框架教程 4 序列化器概念

我在http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html完成了教程 1-4并运行了代码。

但是,我并不完全理解周围的解释:

我对哪个字段引用哪个字段感到困惑。

1.例如models.py中的Snippet类中定义了一个owner字段。在查看https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey后,它说ForeignKey()返回一个类。它会返回auth.User课程吗?

2.如果有,“所有者”是做什么的

参考?我在 的导入部分没有找到所有者serializers.py

serializers.Field(source='owner.username')3.退货是什么?它是否返回 auth.User 中的用户名?

4.如果对应的模型有对另一个表的字段引用,我们是否应该在序列化器类中添加对应的字段?

0 投票
1 回答
4872 浏览

django - Django REST Framework 和泛型关系

问题

我有一个具有以下标准通用外键字段的模型:

根据 REST framework 的文档,我可以执行以下操作来正确序列化:

这很好用,但是在其他两种相关情况下,我无法正常工作:

  1. 我想用HyperlinkedRelatedField. 此字段需要 view_name 参数,我无法声明,因为视图名称因相关模型而异。我通过使用SerializerMethodField,在运行时实例化 aHyperlinkedIdentityField并返回它的field_to_native方法来解决这个问题(见下面的片段)。这感觉不是很优雅。
  2. 我想通过说将相关对象直接嵌套在序列化中event_object = SoAndSoSerializer(source='event_object')。我能看到的唯一解决方案是遍历*Serializer我定义的每一个并检查哪个具有正确的模型,然后使用它。同样,这感觉不是很优雅。

问题

HyperlinkRelatedField 是否意味着跨通用关系工作?我只是在犯错吗?是否有明显的解决方案来选择*Serializer我缺少的权利?

代码片段

上面第 1 点中提到的不优雅的解决方案:

0 投票
0 回答
386 浏览

python - serializer.save() 导致 creation_counter 错误

我按照 Rest-Framework Tutorial 并按照序列化程序模型的描述设置了我的 api。该serializer.is_valid()方法返回 true,并且在打印 serializer.data 和 serializer.object 时,它看起来应该是这样。

但是当我打电话时,serializer.save()我收到以下错误消息:

“str”对象没有属性“creation_counter”

有没有人遇到过同样的问题或有任何想法如何解决它或为什么会出现这个问题?

我的观点是这样的:

0 投票
11 回答
63008 浏览

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

我正在使用 Django 和django-rest-framework构建一个 RESTful API 。

作为身份验证机制,我们选择了“令牌身份验证”,并且我已经按照 Django-REST-Framework 的文档实现了它,问题是,应用程序是否应该定期更新/更改令牌,如果是,如何?应该是需要更新令牌的移动应用程序还是网络应用程序应该自主执行?

最佳做法是什么?

这里的任何人都对 Django REST 框架有经验并且可以提出技术解决方案吗?

(最后一个问题的优先级较低)

0 投票
4 回答
92908 浏览

python - 如何使用 Django Rest Framework 包含相关模型字段?

假设我们有以下模型:

假设不是根据 ManyRelatedPrimaryKeyField 函数得到这样的结果:

让它返回包含完整相关模型表示的内容,例如:

这可能吗?如果是这样,怎么做?这是一个坏主意吗?

0 投票
8 回答
100741 浏览

python - Django Rest Framework - 如何在 ModelSerializer 中添加自定义字段

我创建了一个ModelSerializer并想添加一个不属于我的模型的自定义字段。

我在这里找到了添加额外字段的描述,并尝试了以下方法:

当我添加这个字段并调用我的validate()函数时,这个字段不是attr字典的一部分。attr包含除额外字段外指定的所有模型字段。所以我无法在覆盖验证中访问此字段,可以吗?

当我像这样将此字段添加到字段列表时:

然后我得到一个错误,因为customField它不是我的模型的一部分 - 什么是正确的,因为我只想为这个序列化程序添加它。

有没有办法添加自定义字段?

0 投票
3 回答
5463 浏览

forms - django-rest-framework - 在可浏览的 API 中自动生成表单?

不确定我是否使用了正确的词汇。在 django-rest-framework 免费提供的可浏览 api 中,我想知道是否有一种方法可以自动生成类似于我们定义 ModelForms 的表单。在某些情况下,这将使我们能够更轻松地测试 API 的输入。我目前正在使用 ModelSerializers 和通用视图 APIView 以防万一。

我已经阅读了文档(此时已阅读了好几次),但没有在任何地方看到它。

截屏

0 投票
1 回答
111 浏览

django - 我是否希望将大多数常规视图转换为美味的 API?

我正在将常规 django 视图转换为tastepie api。
(我的问题不是针对美味派,使用任何休息框架都会提出同样的问题)

我看到人们甚至使用tastepie 来登录用户。
我如何使用tastepie登录django

我想您可以使用tastepie 将图像上传到画廊应用程序等。

我猜既然saffectpie用惯了handle resourceuploading an image可以认为是creating a resource
我不明白怎么login能被视为handling resource.
(正如我所见,它不是 CRUD)

问题是,我应该在regular views和之间画什么线tastypie powered views
你什么时候使用常规视图,什么时候使用 sweetpie 或其他基于 rest-api 的视图?

0 投票
1 回答
7351 浏览

django - Django Rest Framework 字典字段

我正在使用带有 mongoengine 的 Mongodb 作为 Django 中 API 的后端。我用来创建 api 的框架是 Django Rest Framework。

我需要在 Mongo 的一个字段中存储一个字典,当调用 post 方法时我所做的最好的事情是使用一个字符字段并在函数 restore_object 中解析字典。

有没有更好的方法来实现这个目标?

最好创建一个dict字段?我不知道这有多难。

谢谢你。

编辑以显示一些代码,请注意我将字典存储为 dict (DictField),它的内容可能会从一个对象更改为另一个对象。

我的 mongoengine 模型类似于:

和我的序列化器是这样的: