我在模板中使用url
标记作为视图,由两个不同的网址使用。我在一个地方得到了错误的网址。有没有办法强制django检索不同的网址?为什么它不通知我,发生了这样的冲突,它不知道该怎么做(因为python zen说,这应该是拒绝猜测的诱惑)。
模板中的代码:
{% url djangoldap.views.FilterEntriesResponse Entry=entry.path as filter_url %}
网址中的代码:
(r'^filter_entries/(?P<Entry>.*)/$',
'djangoldap.views.FilterEntriesResponse',
{'filter_template': 'filter_entries.html',
'results_template': 'filter_results.html'}),
(r'^choose_entries/(?P<Entry>.*)/$',
'djangoldap.views.FilterEntriesResponse',
{'filter_template': 'search_entries.html',
'results_template': 'search_results.html'}),
如您所见,这两个网址使用相同的视图,但使用不同的模板。我如何强迫django检索以前的url而不是后者?
答案 0 :(得分:1)
通过向元组添加其他项来命名您的网址:
(r'^choose_entries/(?P<Entry>.*)/$',
'djangoldap.views.FilterEntriesResponse',
{'filter_template': 'search_entries.html',
'results_template': 'search_results.html'},
'sensibleprefix-choose_entries') # <-- this is the name
然后您可以使用URL tag中的名称。