2010-11-23 4 views
0

J'ai une application appelée portefeuille et j'essaye de tracer les pages de sorte que je me retrouve avec une zone fixe qui existe toujours appelée «galerie». Je l'ai configuré et fonctionne correctement, mais les éléments de la galerie sont mappés sur des zones page_type, telles que 'images', 'vidéos', donc je voulais que ma racine urls.py détecte cela, puis envoie la vue correcte, mais je ne peux pas comprendre comment le faireDjango urls.py problème passant des variables

racine 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) 
) 

portefeuille 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'), 
) 

est-il possible? Et comment? Je ne trouve pas d'information sur le passage des expressions correspondantes, etc.

Aide de PLease. Merci :)

Un ami a fait remarquer que je pouvais aller directement à la vue plutôt que de passer par les applications urls.py en faisant quelque chose comme ça [code] (r^(? P [a-zA -Z0-9 -] +)/(? P [a-zA-Z0-9 -] +)/$ ',' portfolio.views.detail '), [/ code]

, puis y accéder en utilisant: [code] détail def (demande, page_type, page_name): ... [/ code]

+0

Veuillez nettoyer votre question les étiquettes que vous avez utilisées sont incorrectes – zsquare

+0

J'ai nettoyé le code, mais j'ai besoin de plus d'informations avant de pouvoir répondre à la question. À quoi voulez-vous que vos URL ressemblent? Qu'est-ce qu'ils vont faire. –

+0

Daniel, je peux juste dire, tu es rock! – zsquare

Répondre

5

Vous devez déplacer (r'^gallery/', include('portfolio.urls')), AVANT (r'^(?P<page_type>[a-zA-Z0-9-]+)/$', include('portfolio.urls')), parce que t Le type de page regex va aussi correspondre à 'gallery /' et les motifs sont appliqués dans l'ordre tel qu'ils sont définis!

+0

Cheers mec. Je vais déplacer cela plus haut: D Je suppose que l'administrateur devrait également être plus haut? – Designer023

+0

Oui, parce que '[a-zA-Z0-9 -] +' correspond à n'importe quelle combinaison alphanumérique (également 'admin'). –

Questions connexes