问题标签 [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.
django - django-piston:DELETE 处理程序中的 request.data 可用性
django-piston 似乎在请求对象进入 Handler 阶段之前创建了一个数据属性。例如,可以通过访问 request.data 在 PUT 和 POST 处理程序中使用此数据。
但是,在 DELETE 处理程序中,数据不可用。
我想修改 django-piston 以使这些数据可用,但我不知道从哪里开始。有任何想法吗?数据属性从何而来?
file-upload - Django-piston 文件上传
我正在使用 django-piston 和 curl 将文件发布到我数据库中的特定电话号码。但我在上传文件时遇到问题。
这是我使用 curl 的帖子回复:
处理程序.py:
请帮忙!
django - 使用 ASIHTTPRequest 将文件上传到 django-piston
我正在尝试使用 ASIHTTPRequest 将一些 JSON 和二进制文件从 iPhone 发布到运行 django-piston 的 Django 服务器
如果我只发送 JSON 字符串,我知道如何让它工作,如果我只发送一个文件,我知道如何让它工作,但两者都做起来很棘手。
所以我们将从 ASIHTTPRequest 代码开始
我最好的想法是将原始字符串数据直接添加到 POST 正文然后添加文件是行不通的。
但如果我改为尝试
然后活塞数据字典会将 ['save'] 存储为字符串而不是反序列化的对象,因此它将按字面意思传递字符串
这是我的活塞处理程序代码
欢迎提出想法。
python - Django-Piston 中的错误处理
在 Django-Piston 中,有没有一种很好的方法来进行错误处理?(就像调用者省略必需的 GET 参数或参数无效时返回 400 状态码一样。)
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 有一些奇怪的地方。
请帮忙。提前致谢。
python - Django-piston:我怎样才能得到 app_label + model_name?
在我只是使用内置的 django 序列化程序之前,它添加了一个模型字段。
如何使用 django-piston 获得相同的模型字段?
我尝试了 fields = ('id', 'model') 但这没有用。
javascript - Greasemonkey POST 请求总是返回 400 错误
我有一个 django 应用程序,它公开了一个 url conf 看起来像这样的 API,
url('^links/', linkhandler),
链接处理程序是一个 django 活塞资源,我在下面给出了它的 POST(Create function),
以上一切都很好,当我通过 CURL 发出 POST 请求时,它工作得很好。例如,下面是我的 CURL 请求,它有效,
但是当我从greasemonkey脚本中尝试这个时,它总是返回一个400错误:(
下面是相关的greasemonkey脚本
可能是什么问题?
python - Django-piston:返回查询集和列表之间的区别?
我创建了这个简单的项目来说明我的问题。
这些是我的模型:
这是我的基本处理程序:
如果我不将查询集转换为列表,这是结果:
如果我将它转换为列表,就会发生这种情况return list(qs)
:
我失去了 speak 方法的结果,但获得了一个关系 id 和一个 _state 对象。谁能解释为什么会发生这种情况以及我如何防止它?这只是一个测试项目,我不想让任何人试图解释我的真实项目。
python - 如何使用 django-piston 读取 lxml.objectify.ObjectifiedElement 对象?
我正在尝试制作一个 django-piston API,它读取另一个 API 并以不同的格式呈现它(读取仅 XML 的 API 并以 JSON 呈现)。但是我遇到了麻烦,因为我这样做的方式只是一个空字符串。
这是我的处理程序:
get_node 函数只是一个从其他 API 获取对象的函数,它是一个 lxml 对象:
在我的 urls.py 中,我有:
当我访问那个 URL 时(使用正确的参数,直接给 get_node 提供了一个正确的对象),我只得到一个空字符串。
如何让它发挥作用?
django - OAuth Web 服务和 Django-piston
我正在尝试使用 Django 实现具有过滤资源访问(OAuth 身份验证)的 Web 服务,但我有几个问题。
我创建了两个网络服务器:
- http://localhost:8080:Web 服务提供者(使用 django-piston 进行 Web 服务)
- http://localhost:8000 : 网络服务消费者
我正在尝试使用 1.0a 版的 OAuth 来针对提供者对消费者进行身份验证。此处描述了此协议的工作流程。
简而言之,以下是不同的步骤(交换的资源的名称):
- 消费者向提供者请求令牌(密钥、秘密)
- 如果消费者有效,则提供者返回一个令牌(oauth_token,oauth_token_secret)
- 消费者将用户重定向到提供者以登录/授予访问权限(oauth_token)
- 用户授予消费者对资源的访问权限。
- 提供者给消费者一个令牌验证器(token_verifier)
- 消费者请求一个 access_token (key , secret, oauth_token, oauth_token_secret, oauth_verifier)
- 提供者给消费者一个 access_token (oauth_token)
- 消费者使用其oauth_token 访问资源
这是我的消费者意见的代码:
一般 OAuth 问题
- 消费者应该拥有多少代币?一?每个用户一个?每个资源一个?
- 消费者应该如何存储其令牌?
- 您如何指定消费者可以使用其令牌访问哪些资源?在将用户重定向到服务提供者(第 3 步)时,消费者是否应该能够提供它想要访问的资源的 ID?
- 如果消费者想要访问用户过去已经授予访问权限的资源,它是否应该将用户重定向到服务提供者(并让服务提供者立即返回 oauth_verifier,而不是请求用户许可) ?
技术问题
现在,我正在使用本地内存缓存会话来存储令牌,但它不起作用:
- 当会话在消费者服务器上激活时,用户每次都必须在服务提供者服务器上登录(即使他已经登录)。
- 在第一个视图(请求令牌)中,我将
oauth_token
and存储oauth_token_secret
在请求的会话中。当我尝试在第二个视图中访问它时(在重定向用户之前),它可以工作。但是当我尝试在最后一个视图中访问它时(重定向之后)它没有(在字典KeyError
中oauth_token
找不到)request.session
谢谢!