问题标签 [django-piston]

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 回答
576 浏览

django - django-piston:DELETE 处理程序中的 request.data 可用性

django-piston 似乎在请求对象进入 Handler 阶段之前创建了一个数据属性。例如,可以通过访问 request.data 在 PUT 和 POST 处理程序中使用此数据。

但是,在 DELETE 处理程序中,数据不可用。

我想修改 django-piston 以使这些数据可用,但我不知道从哪里开始。有任何想法吗?数据属性从何而来?

0 投票
1 回答
1409 浏览

file-upload - Django-piston 文件上传

我正在使用 django-piston 和 curl 将文件发布到我数据库中的特定电话号码。但我在上传文件时遇到问题。

这是我使用 curl 的帖子回复:

处理程序.py:

请帮忙!

0 投票
2 回答
1166 浏览

django - 使用 ASIHTTPRequest 将文件上传到 django-piston

我正在尝试使用 ASIHTTPRequest 将一些 JSON 和二进制文件从 iPhone 发布到运行 django-piston 的 Django 服务器

如果我只发送 JSON 字符串,我知道如何让它工作,如果我只发送一个文件,我知道如何让它工作,但两者都做起来很棘手。

所以我们将从 ASIHTTPRequest 代码开始

我最好的想法是将原始字符串数据直接添加到 POST 正文然后添加文件是行不通的。

但如果我改为尝试

然后活塞数据字典会将 ['save'] 存储为字符串而不是反序列化的对象,因此它将按字面意思传递字符串

这是我的活塞处理程序代码

欢迎提出想法。

0 投票
1 回答
1737 浏览

python - Django-Piston 中的错误处理

在 Django-Piston 中,有没有一种很好的方法来进行错误处理?(就像调用者省略必需的 GET 参数或参数无效时返回 400 状态码一样。)

0 投票
1 回答
500 浏览

java - Django-Piston 和 Python 客户端与 Java 客户端

我使用 Django-Piston 构建了一个允许 POST 和 GET 请求的 Web 服务。作为测试的一部分,我编写了一个快速的 Python 脚本。使用脚本我可以成功地完成这两种类型的请求;但是,当用 Java 编写的客户端尝试执行 POST 时,我收到错误消息:“POST /api/service/HTTP/1.1”400 225“-”“Apache-HttpClient/4.1 (java 1.5)”

我的理解是任何语言生成的http请求消息都必须相同。换句话说,如果我使用 python 客户端测试我的 Web 服务并且它可以工作,那么它应该适用于所有其他具有 http 库的语言。

这是 POST 的 python 代码:

这是Java代码:

我开始认为这是一个 apache 配置问题。我在我的 POST 方法开始时放入了一些调试语句,但我根本没有点击它们。这意味着 urls.py 文件有问题(我怀疑它在 python 中工作)或者 apache 有一些奇怪的地方。

请帮忙。提前致谢。

0 投票
3 回答
6598 浏览

python - Django-piston:我怎样才能得到 app_label + model_name?

在我只是使用内置的 django 序列化程序之前,它添加了一个模型字段。

如何使用 django-piston 获得相同的模型字段?

我尝试了 fields = ('id', 'model') 但这没有用。

0 投票
1 回答
706 浏览

javascript - Greasemonkey POST 请求总是返回 400 错误

我有一个 django 应用程序,它公开了一个 url conf 看起来像这样的 API,

url('^links/', linkhandler),

链接处理程序是一个 django 活塞资源,我在下面给出了它的 POST(Create function),

以上一切都很好,当我通过 CURL 发出 POST 请求时,它工作得很好。例如,下面是我的 CURL 请求,它有效,

但是当我从greasemonkey脚本中尝试这个时,它总是返回一个400错误:(

下面是相关的greasemonkey脚本

可能是什么问题?

0 投票
1 回答
1469 浏览

python - Django-piston:返回查询集和列表之间的区别?

我创建了这个简单的项目来说明我的问题。

这些是我的模型:

这是我的基本处理程序:

如果我不将查询集转换为列表,这是结果:

如果我将它转换为列表,就会发生这种情况return list(qs)

我失去了 speak 方法的结果,但获得了一个关系 id 和一个 _state 对象。谁能解释为什么会发生这种情况以及我如何防止它?这只是一个测试项目,我不想让任何人试图解释我的真实项目。

0 投票
1 回答
705 浏览

python - 如何使用 django-piston 读取 lxml.objectify.ObjectifiedElement 对象?

我正在尝试制作一个 django-piston API,它读取另一个 API 并以不同的格式呈现它(读取仅 XML 的 API 并以 JSON 呈现)。但是我遇到了麻烦,因为我这样做的方式只是一个空字符串。

这是我的处理程序:

get_node 函数只是一个从其他 API 获取对象的函数,它是一个 lxml 对象:

在我的 urls.py 中,我有:

当我访问那个 URL 时(使用正确的参数,直接给 get_node 提供了一个正确的对象),我只得到一个空字符串。

如何让它发挥作用?

0 投票
1 回答
1860 浏览

django - OAuth Web 服务和 Django-piston

我正在尝试使用 Django 实现具有过滤资源访问(OAuth 身份验证)的 Web 服务,但我有几个问题。

我创建了两个网络服务器:

我正在尝试使用 1.0a 版的 OAuth 来针对提供者对消费者进行身份验证。此处描述了此协议的工作流程。

简而言之,以下是不同的步骤(交换的资源的名称):

  1. 消费者向提供请求令牌(密钥、秘密)
  2. 如果消费者有效,则提供者返回一个令牌(oauth_token,oauth_token_secret)
  3. 消费者将用户重定向到提供者以登录/授予访问权限(oauth_token)
  4. 用户授予消费者对资源的访问权限。
  5. 提供消费者一个令牌验证器(token_verifier)
  6. 消费者请求一个 access_token (key , secret, oauth_token, oauth_token_secret, oauth_verifier)
  7. 提供消费者一个 access_token (oauth_token)
  8. 消费者使用其oauth_token 访问资源

这是我的消费者意见的代码:

一般 OAuth 问题

  • 消费者应该拥有多少代币?一?每个用户一个?每个资源一个?
  • 消费者应该如何存储其令牌?
  • 您如何指定消费者可以使用其令牌访问哪些资源?在将用户重定向到服务提供者(第 3 步)时,消费者是否应该能够提供它想要访问的资源的 ID?
  • 如果消费者想要访问用户过去已经授予访问权限的资源,它是否应该将用户重定向到服务提供者(并让服务提供者立即返回 oauth_verifier,而不是请求用户许可) ?

技术问题

现在,我正在使用本地内存缓存会话来存储令牌,但它不起作用:

  • 当会话在消费者服务器上激活时,用户每次都必须在服务提供者服务器上登录(即使他已经登录)。
  • 在第一个视图(请求令牌)中,我将oauth_tokenand存储oauth_token_secret在请求的会话中。当我尝试在第二个视图中访问它时(在重定向用户之前),它可以工作。但是当我尝试在最后一个视图中访问它时(重定向之后)它没有(在字典KeyErroroauth_token找不到)request.session

谢谢!