[英]Django Tastypie: reverse url with “spaces”. How?
这让我疯狂:
我需要为“主键”允许“空格”(%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
为空。 代码在具有NoReverseMatch
异常的reverse
函数(django.core.urlresolvers)中失败。
我什至尝试覆盖了好吃的base_urls,但是它没有用,我现在真的迷路了。 也许这是一个菜鸟问题,但考虑到大约一个月前我从django和python开始:我是菜鸟:-P
刚刚在正则表达式中更改了“ pk”的“名称”:
^(?P<resource_name>%s)/(?P<name>[\w\d\s_.-]+)/$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.