標準のURLパターンを複数のファイル(この場合はプロジェクト全体のurls.py
といくつかのアプリ固有のurls.py
)に分散させることが可能かどうか疑問に思っています。
プロジェクトurls.py
が次のようになっていると想像してください(これが機能するようになりました)。
from Django.conf.urls import patterns, include, url
admin.autodiscover()
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+)/', 'profile.views.show'),
url(r'^user/profile/edit/', 'profile.views.edit'),
)
ご覧のとおり、2つの異なるアプリがあり、どちらも/ user/*のURLを使用したいので、r'^user/'
をインクルードとともに使用することはできません。
私の質問は、上記を2つの別々のurls.py
ファイルに分割して、それぞれをそれぞれのアプリに入れることはできますか?
注:これが入力されたため、構文の間違いは無視してください
承知しました。 URLは順番に処理され、2つのインクルードに同じプレフィックスを付けることができます。一方が一致しなかった場合、処理は次のインクルードに移ります。
urlpatterns = patterns('',
url(r'^user/', include('registration.urls')),
url(r'^user/', include('profile.urls')),
)
また、次のような名前空間を追加することをお勧めします。
urlpatterns = patterns('',
url(r'^user/', include('registration.urls', namespace="registration")),
url(r'^user/', include('profile.urls', namespace="profile")),
)