Просмотр, на который ссылаются два URL и тег URL - PullRequest
1 голос
/ 01 марта 2010

Я использую тег url в своем шаблоне для представления, которое используется двумя разными URL. Я получаю неправильный URL в одном месте. Есть ли способ заставить Django получить другой URL? Почему он не уведомляет меня, что такой конфликт произошел, и он не знает, что делать (так как Python Zen говорит, что он должен отказаться от искушения угадать).

Код в шаблоне:

{% url djangoldap.views.FilterEntriesResponse Entry=entry.path as filter_url %}

Код в 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'}),

Как видите, эти два URL используют один и тот же вид, но с разными шаблонами. Как заставить django получить прежний URL, а не последний?

1 Ответ

1 голос
/ 01 марта 2010

Назовите свои URL-адреса, добавив еще один элемент в кортеж:

(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 .

...