Christian P. Christian P. - 1 year ago 76
Python Question

Django: Multiple url patterns starting at the root spread across files

I am wondering if it is possible to have the standard url patterns spread across multiple files (in this case the project-wide
and several apps-specific

Imagine that the project
look like this (got this working):

from django.conf.urls import patterns, include, url

urlpatterns = patterns('',
url(r'^user/signup/', 'registration.views.signup'),
url(r'^user/confirm/(?P<code>\w{20})/', 'registration.views.confirm'),
url(r'^user/profile/(\d+)/', ''),
url(r'^user/profile/edit/', 'profile.views.edit'),

As you can see, I have two different apps that both want to user the urls for /user/*, so I can't just use
with an include.

My question is: Can I split the above into two seperate
files, that each go into their respective app?

Note: Disregard any syntax mistakes as this was typed in

Answer Source

Sure. URLs are processed in order, and two includes can have the same prefix - if one doesn't succeed in matching, processing will just move on to the next one.

urlpatterns = patterns('',
    url(r'^user/', include('registration.urls')),
    url(r'^user/', include('profile.urls')),
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download