1

私は現在、Djangoチュートリアル(ステップ3)を進めており、「URLconfの分離」の部分で立ち往生しています。

私がやろうとしているのは、lnadmin /をキャッチする1つのURLパターンを設定し、django adminにリダイレクトし、最終的には別のファイルから含まれる他のパターンにリダイレクトする別のキャッチオールを設定することです。

これが私のmysite/urls.pyです:

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

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',

url(r'^lnadmin/', include(admin.site.urls)), #match admin
url(r'^test/', include('lnapp.urls')), #match test, should be a catch-all later
)

これがlnapp/urls.pyで、hash /(anything)/と一致するはずです。

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

urlpatterns = patterns('lnapp.views',
    url(r'^hash/(?P<hash>.+)/$', 'hash'), #match part to load from hash
)

以前、メインのurl.pyにこのパターンがありましたが、意図したとおりに機能しました。現在、(mydomain)/ lnadmin /を開くと、lnapp.views.hashにアクセスしようとします(ビューがまだ定義されていないため、lnapp.views.hashをインポートできませんでした)。

lnadmin /は最初のパターンと一致する必要があり、/lnadmin/はtest/hash /(anything)/と一致しないため、これは私には意味がありません。lnapp / urls.pyの1つのURLをコメントアウトするとすぐに、意図したとおりに管理者にリダイレクトされます。

メインのurl.pyで両方のURLを入れ替えても効果はありません。

4

1 に答える 1

0

私自身の質問に対する答えは次のとおりです。一致しない URL に対してもビューを定義する必要があります。そうしないと失敗します。

于 2012-06-13T09:23:06.730 に答える