Django Tastypie:带有“空格”的反向网址。怎么样?

时间:2012-06-21 15:22:23

标签: python django url reverse tastypie

这让我发疯了:

  • 我有一个Tastypie自定义资源(不是ModelResource)。
  • 我需要为“主键”允许“空格”(%20代码)。对于 例如:

    localhost:8000/api/v1/collections/i%20am%20a%20space/

  • 使用“\ s”添加正则表达式适用于GET (obj_get)PUT (obj_update)DELETE (obj_delete)

    def override_urls(self):
    return [url(r"^(?P<resource_name>%s)/(?P<name>[\w\d\s_.-]+)/$" % self._meta.resource_name, self.wrap_view('dispatch_detail'), name="api_dispatch_detail")]
    
  • 问题出在obj_get_list:返回对象列表时, 如果存在空格,则参数resource_uri为空。代码 在函数reverse(django.core.urlresolvers)中失败了 NoReverseMatch例外。

我甚至试图从tastypie覆盖base_urls,但它没有用,我现在真的迷失了。也许这是一个noob问题,但考虑到我在1个月前开始使用django和python:我是一个菜鸟:-P

1 个答案:

答案 0 :(得分:0)

刚刚在正则表达式中更改了“pk”的“名称”:

^(?P<resource_name>%s)/(?P<name>[\w\d\s_.-]+)/$
相关问题