1

django 可以以非常相似的方式将 (view_name, args, kwargs) 解析为字符串 url,我想对扭曲的资源做同样的事情。

所以我会做 urlresolve(Resource, args) ,它会返回一个我可以在模板或重定向等中使用的字符串 url。

我想简单地将 url 附加到 Resource 类本身并为其提供 urlresolve 方法来处理动态参数。我知道这会复制 url 信息,但现在对我来说已经足够了。我认为正确地支持这一点实际上应该很简单,但我希望已经存在一些东西,我只是找不到它。

4

2 回答 2

1

这个问题的问题是 aResource可能出现在一个、零个或多个 URL 上。如果你想拥有自己的资源类型,它只在一个 URL 上可用,那么它可以有自己的方法来识别它存在于哪一个。

于 2013-12-28T01:29:14.903 回答
0

你是对的,我不认为你可以用 Twisted 做到这一点。原因是 aResource只知道它的子资源,而不知道它在层次结构中的位置。IE

rootResource = Resource(...)
barResource = Resource(...)
fooResource = Resource(...)

rootResource.putChild('foo', fooResource)
fooResource.putChild('bar', barResource)

# barResource doesn't know it's under foo/bar

我认为您关于将 url 字段附加到 a 的想法Resource很好。然后你可以做一些事情:

import urllib
args = dict(alpha= 1,beta=2)
resolvedUrl = '{0}?{1}'.format(resource.url, urllib.urlencode(args))
于 2013-12-27T14:58:03.977 回答