在 Django 的 urls.py 中,我知道您可以指定一个可选参数以传递给单个 url() 对象的视图。我的问题是,是否可以指定相同的可选参数并将其应用于 patterns() 对象内的每个 url() 。
问问题
564 次
1 回答
0
我不这么认为,但你可以简单地使用一个变量:
d = { 'foo' : very_long_value }
urlpatterns = patterns('',
url('^aaaa/$', 'aaa', d),
url('^bbbb/$', 'bbb', d),
url('^cccc/$', 'ccc', d),
)
如果您希望能够即时向某些 url 添加值,您可以执行以下操作:
def add_dict(d, **kw):
x = d.copy()
x.update(kw)
return x
d = { 'foo' : very_long_argument }
urlpatterns = patterns('',
url('^aaaa/$', 'aaa', d),
url('^bbbb/$', 'bbb', d),
url('^cccc/$', 'ccc', add_dict(d, bar = 'xxx')),
)
或者,您可以编写自己的url
包装器:
def my_url(regex, view, kwargs=None, name=None, prefix=''):
if kwargs is None:
kwargs = {}
kwargs.update(foo = very_long_argument)
return url(regex, view, kwargs, name, prefix)
urlpatterns = patterns('',
my_url('^aaaa/$', 'aaa'),
my_url('^bbbb/$', 'bbb'),
my_url('^cccc/$', 'ccc' { 'bar' : 'xxx'),
)
于 2012-08-04T22:45:06.433 回答