2017-10-05 4 views
0

Je sais que dans chaque application, nous pouvons utiliser notre propre urlpatterns et l'inclure dans le projet principal/application en utilisant include.possible de grouper les urlpatterns de la même application? Django

Je me demande si une application possède quelques URL différentes, est-il possible de la grouper?

par exemple

urlpatterns = [ 
    url(r'^user/$', hello.asView(), 
    url(r'^user/hello/$', hello.asView(), 
    url(r'^user/there/$', hello.asView(), 
    url(r'^user/here/$', hello.asView(), 
    url(r'^user/that/$', hello.asView(), 
    url(r'^user/mini/$', hello.asView(), 
    url(r'^user/max/$', hello.asView(), 

    url(r'^bb/$', hello.asView(), 
    url(r'^bb/hello/$', hello.asView(), 
    url(r'^bb/there/$', hello.asView(), 
    url(r'^bb/here/$', hello.asView(), 
    url(r'^bb/that/$', hello.asView(), 
    url(r'^bb/mini/$', hello.asView(), 
    url(r'^bb/max/$', hello.asView(), 
] 

s'il vous plaît ignorer tous les hello.asView() mais je me demande s'il y a un moyen de regrouper tous les user et bb donc s'il y a plus url, je ne pas besoin de continuer à taper user ou bb à nouveau?

merci d'avance pour toute aide.

Répondre

0

Vous pouvez utiliser des modèles correspondants

url(r'^user/(?P<page>[\w-]+)/$', hello.asView(), 

et dans votre vue, vous pouvez vérifier si la page est valide. Disons que vous avez une liste de pages. Vous venez de faire ceci:

def get(self, page): 
    page_list = ['hello', 'there', 'here'] 
    if page not in page_list: 
     return HttpResponse(status=404) 
    return HttpResponse(status=200)