问题标签 [tastypie]

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 投票
2 回答
4232 浏览

django - 需要一个使用 django-tastypie 进行授权的示例

我对 Django 及其生态系统比较陌生。我正在使用 django-tastypie 为我们的移动客户端编写 REST api。我已经浏览了网上几乎所有关于如何使用 tastepie 来创建 REST 接口的示例。但它们都不是特定于从客户端发布数据以及您将如何授权客户端。

我使用了 from tastepie.authentication.BasicAuthentication ,如示例中所示。它会打开一个弹出窗口,询问用户名和密码,并在浏览器上正常工作。但我不确定它是否会在移动设备上做同样的事情(具体来说,原生 IOS 应用程序)。当用户请求登录时,如果他或她不使用浏览器而是使用本机应用程序,我不太明白这个弹出窗口将如何显示在他/她的移动设备上。

我完全迷失了这一点,我非常感谢你的帮助。

0 投票
1 回答
1457 浏览

django - 自定义 Tastypie 的 URL Conf

我正在将我的 API 从 Piston 移植到 TastyPie。我们有现有的客户端,因此我们希望保持 API 的 url 结构相同。

我网站的顶级 urls.py conf 如下所示:

使用 Piston,每个单独的资源都会在 api.urls 中独立注册并添加到 urlpatterns,因此您可能会看到 /v1/deals/ 示例。

现在,我在用 TastyPie 重新创建这个结构时遇到了一些问题。在其顶层,Tastypie Api() 对象的 urlpatterns 需要一个名为“api_name”的捕获组。默认情况下,v1 被硬编码为顶级模式,尽管您可以通过在实例化 Api() 时将“api_name”作为关键字参数传递来覆盖它。

我当前的 api.urls.py 看起来像这样(带有tastepie):

)

结果是要为 API 匹配的模式现在是“/v1/v1/[resource_name]/”。

一个问题是我看不到如何从顶级 url conf 中删除 ^v1/'。我们的索引页匹配“^$”,所以我不能只走那条路。

我想我可以只注册单个模型资源,而不是 api 对象。不过,这似乎不是最理想的。我错了吗?

我还考虑过对 Tastypie Api 对象进行子类化并删除“api_name”捕获组。

有什么想法吗?

0 投票
4 回答
4472 浏览

ajax - 如何检查该用户是否已通过来自美味派的身份验证?

当用户在 Django 中进行身份验证时,如何从美味派中检查?

用户登录后,视图会包含一些从 API 中提取数据的 JS,这些 JS 由美味派支持。

我在资源上设置了基本身份验证/djangoauthorisation,因此浏览器会弹出 http auth 窗口。有没有办法避免这种情况?

到目前为止,我的想法是扩展 BasicAuthentication 以便它首先检查会话数据,当它没有找到它时,它会退回到 http auth?AFAIK AJAX 调用包括会话 cookie,所以理论上这应该有效吗?有没有人做过类似的事情?

0 投票
2 回答
2650 浏览

django - Django-Tastypie:如何访问 Bundle 中的 (Http) 请求对象?

我需要在我的资源的脱水方法中访问 HttpRequest 对象。

在文档中,它显示 bundle.request 是一个有效的属性(它在 resources.html 页面中)。当我尝试将它添加到我的代码中时,我收到一个错误,声称 Bundle' 对象没有属性 'request'。是什么赋予了?

0 投票
1 回答
1926 浏览

python - 如何从 Django Tastypie 中的相关模型返回数据?

我如何从另一个模型中引入信息?

我有两个模型Article,和ArticleBody

包含主要信息的文章和包含正文和图像信息循环的文章正文

在我的 api resources.py 文件中,我试图将 ArticleBody 信息放入我的 NewsResource...

这就是我到目前为止所拥有的。

什么是正确的 TastyPIE 方式进行更改,以便我可以ArticleBody进入我的循环NewsResource

0 投票
1 回答
858 浏览

python - 美味派身份验证/自定义响应

有没有在美味派中使用 APIKey 身份验证的示例。提供的示例并未真正详细说明其工作原理。

此外,我正在翻阅食谱,试图找到在帖子上返回自定义消息的钩子。

例如,有人发帖试图创建一个用户,但该用户已经存在。在我的 hydra_user(self, bundle): 我相信我会进行检查,但我将如何返回有用的错误消息?

0 投票
3 回答
2798 浏览

python - 如何配置 Tastypie 以将字段视为唯一字段?

如何配置 Tastypie 以将字段视为唯一字段?如果我尝试为标记为唯一的字段插入重复条目,我的期望是收到某种非 500 错误(可能是 409 冲突?)作为响应。


我浏览了文档,看起来对我来说应该很明显,但由于某种原因,我没有得到我期望看到的响应。

这是文档链接:

http://readthedocs.org/docs/django-tastypie/en/latest/fields.html?highlight=unique


示例代码如下:

网址.py

资源.py

模型.py


我收到的错误如下(使用 curl 访问我的本地服务):

当我unique=True, db_index=True,从公司模型中删除时,我没有收到完整性错误,而是创建了一个新的重复资源。同样,这不是预期的结果,因为我希望独特地执行一些验证并导致一些非 500 响应。

0 投票
1 回答
945 浏览

iphone - 在 REST API 中检索相关数据的最佳实践

所以我有一个 REST API,其中我有一个资源,其中其他资源链接到(相关模型,从编程的角度来看)。

所以我现在的做法是,每当我请求资源时,都会通过 URL ('/related_data/related_data_id/') 引用相关资源。

但是,我担心,假设我要检索的资源有 5 个相关资源,我会执行 5 个 GET 请求。我正在编写一个 iPhone 客户端,我想知道这是否是如何使用 REST 正确完成它(我正在返回 URL)。示例 JSON 响应如下:

考虑到“每个 URI 必须映射到资源”以及所有这些事情,这是在 REST 中执行此操作的正确方法吗?

我正在使用 Django 和 django-tastypie

提前致谢!

0 投票
2 回答
1333 浏览

iphone - 让 Twitter、Tastypie、Django、XAuth 和 iOS 工作以构建基于 Django 的访问权限

我将构建一个 iOS 应用程序,其功能将基于 Django REST 应用程序提供的访问权限。

Django 管理 iOS 应用程序中活动的权限。如果允许,用户 A 可以做工作 A。权限将通过 ASIHTTPRequest 查询到由 Django Tastypie 提供的 REST API。

没有注册。用户将只能通过 Twitter 登录。XAuth 将用于为用户呈现登录屏幕。

有2种用户。例如,类型 1 和类型 2。类型 1 是普通用户,只能在 iOS 应用程序中浏览数据。

类型 2 用户可以提交/编辑数据。

理论上就是这样。但是......我不知道从哪里开始!

最大的障碍:

如何通过 Tastypie 将 Twitter XAuth 与 Django 的用户后端挂钩?

如果我知道这一点,那么我可以查询必要的权限。

提前致谢!

0 投票
2 回答
308 浏览

python - 为什么 << try >> 没有捕获到异常?

我有一个 Python (Django) 单元测试因异常而失败,但失败的代码位于为该异常编写的 try / except 块中。当直接引发异常时,类似的块会处理异常。

这通过:

这紧随其后,失败了:

这是跟踪:

根据跟踪,dispatch_list() 调用失败,因为它引发了 << ImmediateHttpResponse >> 异常。但是在 try 块中放置这样的异常不会产生类似的失败。

为什么 try / except 块处理一个异常而不是另一个?

请注意,测试代码是从库的测试代码中复制而来的,它确实按预期运行。(我正在使用库测试代码来诊断我自己的实现失败。)