25

標準の 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'), 
)

ご覧のとおり、/user/* の URL を使用したい 2 つの異なるアプリがあるためr'^user/'、インクルードだけでは使用できません。

私の質問は、上記を 2 つの個別のurls.pyファイルに分割して、それぞれのアプリに入れることはできますか?

注: これは入力したものなので、構文の間違いは無視してください。

4

2 に答える 2

45

もちろん。URL は順番に処理され、2 つのインクルードが同じプレフィックスを持つことができます。一方が一致しない場合、処理は次のものに移ります。

urlpatterns = patterns('',
    url(r'^user/', include('registration.urls')),
    url(r'^user/', include('profile.urls')),
)
于 2012-07-23T18:27:02.500 に答える