Неизвестный спецификатор в URL при использовании Django-Tagging - PullRequest
2 голосов
/ 21 июля 2011

Привет, я получаю следующую ошибку;

    error at /
    unknown specifier: ?P[

Вот так выглядит мой файл URLS;

urlpatterns = patterns('mainpage.views',
(r'^$', 'index'),
(r'^post/(?P<id>\d+)/$', 'post'),
(r'^projects/$', 'projects'),
(r'^about/$', 'about'),
(r'^tags/$', 'tags'),
(r'^tag/(?P[-_A-Za-z0-9]+)/$', 'with_tag'),
(r'^tag/(?P[-_A-Za-z0-9]+)/page/(?Pd+)/$', 'with_tag'),                  
(r'^comments/$', include('django.contrib.comments.urls'))

Два URL-адреса с именем представления with_tag являются ошибочными URL-адресами. Я следую этому учебнику ;

чтобы теги работали на моем сайте. Я использую Django-тегирование 1.3.1 и Python 2.7.

Может кто-нибудь сказать мне, что я делаю неправильно с моим файлом URLS.py, пожалуйста? Я копирую учебник по книге, но должно ли быть что-то другое в моей установке по сравнению с установкой, использованной в учебнике?

1 Ответ

9 голосов
/ 21 июля 2011

Это не связано с тегами django, это ошибка синтаксиса регулярных выражений. ?P обозначает именованную группу и требует имени после нее: ?P<foo>. Поэтому добавьте имена в свои группы или сделайте их пронумерованными (то есть удалите ?P часть).

...