2017-02-20 4 views
0

Я пытаюсь использовать следующее правило для отображения адреса в ДжангоДжанго жадных символы, отсутствующие в обратном URLs

url(r'^(?P<permalink>[a-zA-Z0-9_-]*)/?$', views.page, name='page'), 

Это должно соответствовать страницам, как

  • site.com
  • site.com/super-awesome-page/

Это работает, однако обратные URL-адреса, предоставляемые тегом шаблона URL-адреса, отсутствуют trailing/i.e. "site.com/page", они получают захваченный шаблон, но я хочу, чтобы мои ссылки отображались на моей странице правильно, как я могу заставить это работать правильно.

Я бы ожидал, что косые черты жадные, они должны быть включены в обратный URL.

ответ

0

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

Самое простое решение, возможно, сделать трейлинг-косую черту не обязательной. С настройками по умолчанию django перенаправит версию без косой черты в slash-версию. Проще всего просто стандартизировать это.

+0

Выполнение этого параметра необязательно вызывает уродливые URL-адреса для примера, где Permalink ничего не соответствует (корневая страница). Кроме того, хотя это необязательно, я ожидаю, что он будет включен как? Я жадный, я бы ожидал, что он не будет включен в обратный URL с неживым ??? – Hugoagogo

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