Django urls.py проблема передачи переменных - PullRequest
0 голосов
/ 23 ноября 2010

У меня есть приложение под названием портфолио, и я пытаюсь отобразить страницы так, чтобы у меня была фиксированная область, которая всегда существует, называемая «галерея».Я настроил это, и он работает нормально, но элементы галереи сопоставляются с областями page_type, такими как «изображения», «видео» и т. Д., Поэтому я хотел, чтобы мой root urls.py обнаружил это, а затем отправил правильный вид, но яне могу понять, как это сделать

root urls.py

urlpatterns = patterns('',

 (r'^(?P<page_type>[a-zA-Z0-9-]+)/$', include('portfolio.urls')),
 (r'^gallery/', include('portfolio.urls')),

 (r'^admin/(.*)', admin.site.root)
)

портфолио urls.py

urlpatterns = patterns('portfolio.views',
 #(r'^(?P<gallery_type>\d+)/$', 'index'),
 (r'^page/(?P<page_number>[0-9]+)/$', 'index'),
 (r'^(?P<page_category>[a-zA-Z0-9-]+)/$', 'category_index'),
 (r'^(?P<page_category>[a-zA-Z0-9-]+)/page/(?P<page_number>[0-9]+)/$', 'category_index'),
 (r'^$', 'index'),
)

Возможно ли это?И как?Я не могу найти информацию о передаче соответствующих выражений и т. Д.

PLease help.Спасибо:)

Друг указал, что я могу перейти непосредственно к представлениям, а не через приложения urls.py, выполнив что-то вроде этого [code] (r '^ (? P [a-zA-Z0-9 -] +) / (? P [a-zA-Z0-9 -] +) / $ ',' portfolio.views.detail '), [/ code]

и затем получить доступон использует: [code] def detail (запрос, тип_страницы, имя_страницы): ... [/ code]

1 Ответ

5 голосов
/ 23 ноября 2010

Вы должны переместить (r'^gallery/', include('portfolio.urls')), ДО (r'^(?P<page_type>[a-zA-Z0-9-]+)/$', include('portfolio.urls')),, потому что регулярное выражение типа страницы также будет соответствовать 'gallery /', и шаблоны будут применены в том порядке, в котором они определены!

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