- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我刚刚学习了本教程,这个例子很棒。 http://weblog.mattdorn.com/content/restful-web-apps-with-django-piston-and-ext-js/
但是当我自己创建时,添加方法可以,但删除和更新方法不行。这是我的运行服务器的控制台:
[16/Nov/2011 00:11:17] "DELETE /api/phonebooks/10 HTTP/1.1" 301 0
[16/Nov/2011 00:11:17] "GET /api/phonebooks/10/ HTTP/1.1" 200 255
[16/Nov/2011 00:11:23] "PUT /api/phonebooks/12 HTTP/1.1" 301 0
[16/Nov/2011 00:11:23] "GET /api/phonebooks/12/ HTTP/1.1" 200 253
我认为它会删除和更新数据,但它会再次调用数据以使其没有任何变化。当我对我的 handlers.py 运行调试时,它无法进入更新方法。
#handlers.py
from django.utils import simplejson
from piston.handler import BaseHandler
from piston.utils import rc, require_mime, require_extended, validate
from phonebook.phoneapp.models import Phonebook
from phonebook.phoneapp.forms import PhonebookForm
class PhonebookHandler(BaseHandler):
allowed_methods = ('GET', 'DELETE', 'POST', 'PUT')
fields = ('id','fullname','address','age','gender','phonenumber','user')
model = Phonebook
def create(self, request, *args, **kwargs):
if not self.has_model():
return rc.NOT_IMPLEMENTED
attrs = self.flatten_dict(request.POST)
if attrs.has_key('data'):
ext_posted_data = simplejson.loads(request.POST.get('data'))
attrs = self.flatten_dict(ext_posted_data)
try:
inst = self.model.objects.get(**attrs)
return rc.DUPLICATE_ENTRY
except self.model.DoesNotExist:
inst = self.model(**attrs)
inst.save()
return inst
except self.model.MultipleObjectsReturned:
return rc.DUPLICATE_ENTRY
def update(self, request, id):
if not self.has_model():
return rc.NOT_IMPLEMENTED
attrs = self.flatten_dict(request.POST)
if attrs.has_key('data'):
ext_posted_data = simplejson.loads(request.POST.get('data'))
attrs = self.flatten_dict(ext_posted_data)
inst = self.model.objects.get(id=id)
inst.fullname = attrs['fullname']
inst.address = attrs['address']
inst.gender = attrs['gender']
inst.age = attrs['age']
inst.phonebook = attrs['phonebook']
inst.save()
return inst
我也尝试删除 allowed_methods
但没有任何反应。
谁能告诉我我的情况?提前致谢
最佳答案
确保在请求 URL 中放入尾部斜杠。
现在,由于缺少尾部斜杠,Django 会自动将您的请求转发到包含尾部斜杠的地址 - 在这种情况下,请求将转换为“GET”而不是原始的“PUT” ' 或 '删除'。
这可能是 Django 中的一个错误,但您可以通过包含尾部斜杠轻松解决它。
关于jquery - 无法更新(PUT)和删除(删除)django-piston 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8147542/
我注意到 GitHub 上大约有 30 个 Django Piston 的分支: https://github.com/search?q=django-piston&type=Everything&r
为了自学图形/UI 编程,我使用 Rust 中的 Piston 开发了一个迷宫游戏。游戏大部分运行良好,但当我在大型迷宫(例如 120 x 72 矩形)中运行时,游戏会在几分钟后因内存分配错误而崩溃。
我想为俄罗斯方块创建一个像正方形的正方形这样的东西,就像一个由4个小正方形(4x4)组成的正方形一样,我知道如何创建一个简单的正方形并将其移动, 但是我不知道如何创建一个更复杂的图形(例如4x4正方形
我试图创建一个使用 Piston 箱打开全屏窗口的应用程序。 如何以编程方式检索物理屏幕尺寸(以像素为单位)?这似乎很容易做到,但我无法弄清楚。 extern crate piston; extern
我正在尝试在我的 Django 项目上设置活塞。当我尝试在包含外键的模型上发布(创建)新条目时,我遇到了困难:位置。 这是我收到的确切错误: Cannot assign "u'1'": "Fest.l
当我为 django-piston 实现另一个处理程序时,我在 django 项目中遇到了此错误。 Request Method: GET Request URL: http://127.0.0.1:
我有一个简单的 Django-Piston 处理程序,它创建模型的新实例并保存它。 从客户端,我使用 Javascript 对象和 JQuery.post 进行发布。 使用 Firebug 检查数据后
Piston 的图形库提供了在两点之间画线的功能,但对于超过两点的就没有了。如何有效地绘制通过许多点的路径,而不必为每个线段绘制一条线? 假设我有以下代码: extern crate piston_w
我正在尝试使用 piston_window(0.77.0) 库在 Rust 中编写游戏。从他们的 hello world 开始我想我会首先将渲染逻辑分离到一个使用 Event 作为参数的方法中,因为根
我有一个应用程序旨在使用 RGB 像素格式处理图像数据。我需要让它拍摄所有编码的图像。我的第一个想法是在处理之前将图像转换为 RGB 格式: extern crate image; use std::
我想在位图中画一条线,例如从像素 (10, 10) 到像素 (90, 90)。线条必须具有特定的宽度。 使用 Piston 图像,我可以绘制单个像素: let mut image = ImageBuf
在Django-Piston中,有没有好的错误处理方式? (比如当调用者省略了必需的 GET 参数,或者当参数无效时返回 400 状态码。) 最佳答案 Django-piston 默认遵守 HTTP
我在 Django 中使用 Piston。每当我的处理程序代码中出现错误时,我都会在我的 http 响应中得到一个简化的、纯文本的错误描述,这比 Django 在报告错误时提供的信息要少得多。我怎样才
我的 django api 有问题。我有一个运行良好的网站,现在我想用 django-piston 制作一个 api 来制作一个 android 应用程序。当我尝试获取一些数据,并在 url 中发送一
当从读取方法返回结果时,生成/发送响应需要大量时间(对于 6 列的 30,000 条记录,大约需要 14 秒)。 这样可以吗?通常需要这么长时间? 如果这不行,我可以做什么来减少时间?我可以引用什么/
我正在开发一个广告网站,并希望使用网络服务来处理请求。我的意思是,发布商网站将放置一个 JavaScript 片段,并通过 REST GET 拉出横幅。 是 django-piston框架是否足够成熟
我已经阅读了很多关于 django-piston 并使用 to 为我正在开发的应用程序制作 API 的内容,但我被世界的客户端挂断了。我已经编写了处理程序和 uri 映射,并且可以将 JSON 或 X
我在这里拉我的头发,因为这对我不起作用,似乎应该如此。 我正在使用 Django-Piston 开发 API 并有 2 个模型,Building 和 Building Area。 BuildingAr
我有一些现有的 python 代码使用 django-piston,它返回一个字典作为它的响应。例如: from piston.handler import BaseHandler class Foo
我尝试使用 Piston对于一个简单的 API,希望使用它的 OAuth 支持。但是我在启用 OAuth 后第一次访问端点时,出现错误: TemplateDoesNotExist: oauth/cha
我是一名优秀的程序员,十分优秀!