由两个网址和网址标记引用的视图

时间:2010-03-01 16:56:37

标签: django django-templates django-urls

我在模板中使用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而不是后者?

1 个答案:

答案 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中的名称。