2017-02-16 4 views
1

У меня возникают проблемы с маршрутизацией URL-адресов в представлениях Django. В частности, я использую URL-адреса с шаблоном:Django urlconf не разрешает действительное регулярное выражение

url(r'^(?P<id>[A-Za-z0-9\ ]+)/(?P<subid>[A-Za-z0-9\ ]+)/managetables$', views.compiledata, name='compiledata') 

Пример URL будет My data/current/managetables. Я проверил, что регулярное выражение возвращает ожидаемые захваченные группы на www.pyregex.com (example)

Однако, фактически посещение URL-адреса не приводит к вызову вида. Самое главное, хотя, это работает для очень похожего URL:

url(r'^(?P<id>[A-Za-z0-9\ ]+)/(?P<subid>[A-Za-z0-9\ ]+)/managetab$', views.compiledata, name='compiledata') 

Если я посещаю My data/current/managetab вид называется, как и ожидалось. Кроме того, используя символ «/» в привязок также работает - но это мне не понятно, почему, т.е .:

url(r'^(?P<id>[A-Za-z0-9\ ]+)/(?P<subid>[A-Za-z0-9\ ]+)/managetables/$', views.compiledata, name='compiledata') 

и посещение My data/current/managetables результатов в редиректа на My data/current/managetables/, которая вызывает вид.

Я ценю любые подсказки, как решить эту проблему.

+1

У вас есть полная noreversatchatch trace trace? (Кроме того, пробелы на самом деле не работают хорошо в URL-адресах, вы должны их убирать) – Sayse

+0

Спасибо за комментарий - я отправлю сообщение, как только у меня появится дополнительная информация. –

+0

В настоящее время я не могу реплицировать проблему на машине, в которой я работаю - тем же кодом. Я проверю, сохраняется ли проблема на исходной машине. –

ответ

0

Хорошо, хотя проблема проявилась только на одной из двух машин, намек на то, чтобы убрать URL-адреса, решил проблему. Для всех, кто сталкивается с подобными проблемами, дополнительную информацию о slugify можно найти здесь: Tango with Django's Chapter 7, а также в Django Documentation.

Смежные вопросы