Конфигурирование urls.py с этим регулярным выражением - PullRequest
0 голосов
/ 20 февраля 2012

Я пытаюсь создать свой первый блог на Django, но застрял в какой-то точке.

Я пытаюсь получить постоянную ссылку с посещенного URL, чтобы отобразить одинpost.

Постоянная ссылка, которую я использую, выглядит следующим образом:

http://127.0.0.1:8000/blog/20-feb-2012/a-nice-post/

Я бы хотел получить как дату, так и slug с этого URL ипередать их в функцию представления.

Я сделал это регулярное выражение:

(r'^blog/(?P<day>\d{2})-/(?P<month>\w{3})-/(?P<year>\d{4})/(P?<slug>[-\w]+)/$','blog.views.single_post'),

В файле urls.py, но, похоже, он не работает.

Что не так с этим регулярным выражением?

Ответы [ 3 ]

2 голосов
/ 20 февраля 2012

Вы указали косые черты между днем-месяц-годом.Удалить их.

(r'^blog/(?P<day>\d{2})-(?P<month>\w{3})-(?P<year>\d{4})/(?P<slug>[-\w]+)/$','blog.views.single_post'),
1 голос
/ 20 февраля 2012

Без проверки чего-либо еще, у вас есть P? вместо ?P в части слизня.

0 голосов
/ 20 февраля 2012

Для начала у вас есть дополнительные косые черты в регулярном выражении, например, здесь (?P<month>\w{3})-**/**(?P<year>\d{4}), а также у вас есть P? вместо? P в конце.

Кроме того, я подумал, что вам может понадобиться рабочий пример регулярного выражения. Итак, я проверил этот, и он работает для /blog/20-feb-2012/a-nice-post/:

r'^blog/(?P<day>\d{2})-(?P<month>\w{3})-(?P<year>\d{4})/(?P<slug>[-\w]+)/$'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...