Как понять шаблоны Url, например. (?P<slug>[-\w]+)/$
в Джанго url.pyКак понять шаблоны Url в django url.py
ответ
Обратите внимание, что Slug поля могут также включать в себя цифры (а не только буквы и тире), так что вы хотите изменить его, чтобы сказать что-то вроде:
SLUG = '(?P<slug>[\w\d-]+)'
Я надеюсь, что это полезно для вас ...
Это не отвечает на вопрос. Он спрашивал, как их интерпретировать, а не как изменить их, чтобы что-то сделать. – agf
Этот URL: (?P<slug>[-\w]+)/$
Говорит, что вы передаете переменную ваш взгляд называется slug
может быть любые цифры или буквы и -
Ваше мнение, как это:
def my_view(request, slug):
....
надеюсь, что это помогает ...
Это не объясняет, откуда берутся эти цифры или буквы. – agf
Спасибо за ваш ответ. –
Я думаю, это не действительный шаблон регулярного выражения. "[- \ w] +" получит слово и - ", что-то вроде" a-b9-c- "или" --- " (? P ...) - это« Именованная группа ». Если вы не укажете его имя, python (my is 2.7) вызовет ошибку.
>>> m = re.match("(?P<e>[-\w]+)/$", "a-b-c-/")
>>> m.group('e')
'a-b-c-'
>>> m = re.match("(?P[-\w]+)/$", "a-b-c-/")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/re.py", line 137, in match
return _compile(pattern, flags).match(string)
File "/usr/lib/python2.7/re.py", line 244, in _compile
raise error, v # invalid expression
sre_constants.error: unknown specifier: ?P[
Спасибо за ваш ответ. –
Но он имеет указанную группу. Он * * действителен. (Я полагаю, вы смотрели на неэкспериментированную версию, которую я исправил за три четверти часа до того, как вы разместили это.) –
Я был соблазн просто рекомендовать [руководство] (https://docs.djangoproject.com/en/dev/topics/http/urls/). –
Это регулярное выражение. Читайте в http://docs.python.org/library/re.html, чтобы понять больше. – agf