Джанго шаблон URL - PullRequest
       1

Джанго шаблон URL

1 голос
/ 30 ноября 2010

Это должен быть простой вопрос. У меня есть два шаблона URL в Django:

url(r'^wiki/page/(?P<page_title>.*)', views.wiki_view, name = 'wiki_view'),
url(r'^wiki/page/$', views.wiki_page_index, name = 'wiki_page_index'),

Когда я захожу в / wiki / page / test, я перехожу на views.wiki_view. Это правильно. Мне нужен первый шаблон для захвата всех символов после «страницы /», поэтому я использовал. *

Когда я захожу в / wiki / page /, я также перехожу на views.wiki_view. Это неверно.

Я мог бы изменить второй шаблон URL следующим образом:

url(r'^wiki/page/$', views.wiki_page_index, name = 'wiki_page_index'),

Таким образом, когда я захожу на страницу / wiki / page, я перехожу на views.wiki_page_index. Но я бы лучше решил проблему, чем избегал ее.

Как мне отформатировать первый шаблон URL, чтобы он не брал экземпляр / wiki / page /?

Ответы [ 2 ]

7 голосов
/ 30 ноября 2010

Измените первый на:

url(r'^wiki/page/(?P<page_title>.+)', views.wiki_view, name = 'wiki_view'),
5 голосов
/ 30 ноября 2010

Поместите второй перед текущим первым.

http://docs.djangoproject.com/en/dev/topics/http/urls/ («Django просматривает каждый шаблон URL по порядку и останавливается на первом, который соответствует запрошенному URL».)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...