Je suis en train de faire quelque chose comme ça dans myproject.myapp.urls
:Django: inclure d'autres urlpatterns dans un seul urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('myproject.myapp.views',
(ur'^$', 'index'),
(ur'^browse/$', 'browse'),
(ur'^request/new/$', 'new_request'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/$', 'view1'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/asdf$', 'view2'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/qwer$', 'view3'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/zxcv$', 'view4'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/tyui$', 'view5'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/ghjk$', 'view6'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/bnm/more-looong-url/$', 'view7'),
...
)
J'ai essayé de factoriser ci-dessus les règles et les définir dans un autre fichier urls2.py
comme ceci:
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/', include('myproject.myapp.urls2')),
mais il semble causer des problèmes avec les tests unitaires, y compris les urlresolvers.
Y a-t-il une meilleure façon de "refactoriser" la partie commune de l'expression régulière (<url_key>
) ici?
Quels problèmes at-il la cause? Utiliser include ('') est généralement assez simple. Pourriez-vous décrire les erreurs qu'il a provoquées ou comment les résultats diffèrent-ils de ce que vous attendiez? – anschauung