Значение '^ site_media / (? P <path>. *) $' - PullRequest
1 голос
/ 15 ноября 2011
# urls.py
site_media = os.path.join(os.path.dirname(__file__), 'site_media'
)

urlpatterns = patterns('',
     (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', 
                                     {'document_root': site_media}),
)

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

'^site_media/(?P<path>.*)$'

Что это на самом деле означает?

Спасибо

// ========== Обновлено на основе комментариев ==============

Ссылка: Название группы .

В регулярных выражениях Python синтаксис именованных регулярных выражений groups это (?P<name>pattern), где name это имя группы и шаблон - некоторый шаблон для сопоставления.

* * Сравнение тысячи двадцать-одиной: * * 1 022

Метод 1>

(r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/$', 'news.views.month_archive'),

Запрос к /articles/2005/03/ вызовет функцию

news.views.month_archive(request, year='2005', month='03'),

Метод 2>

(r'^articles/(\d{4})/(\d{2})/$', 'news.views.month_archive'),

Запрос к /articles/2005/03/ вызовет функцию

news.views.month_archive(request, '2005', '03').

Ответы [ 2 ]

3 голосов
/ 15 ноября 2011

URL-адреса довольно хорошо объяснены в документах

2 голосов
/ 15 ноября 2011

(?P<path>.*) является именованной группой. http://docs.python.org/library/re.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...