1

現在、Django を使って実験し、公式 Web サイトのチュートリアルに従ってアプリを作成しています。

だから私のようにurls.py見える:

urlpatterns = patterns('',
    (r'^/$','ulogin.views.index'), #why doesn't this work?
    (r'^ucode/$', 'ulogin.views.index'),
    (r'^ucode/(\d+)/$', 'ulogin.views.index'),
)

そして私のviews.pyは次のようになります:

def index(request):
    return HttpResponse("Hello, world. You're at the poll index.")

def redirect_to_index(request):
    return HttpResponseRedirect('/ucode/')

サーバーを実行してテスト URL を確認すると、http://127.0.0.1:8000/ucode「Hello, world...etc」が正しく表示され、問題なく動作します。私は urls.py をいじっていますが、http://127.0.0.1:8000/ulogin.views.index を表示する方法がわかりません。

4

2 に答える 2

2

django URL に関しては、Web サーバーのルートは -> のように空の文字列で特徴付けられるため、機能しません^$。したがって、に変更^/$するだけ^$で機能します。

于 2013-07-23T15:30:10.587 に答える
2

まずは柄合わせから

(r'^/$','ulogin.views.index')

する必要があります

(r'^$','ulogin.views.index')

また、次の URL を照合しようとすると、エラーが発生します

(r'^ucode/(\d+)/$', 'ulogin.views.index'), 

\d+パラメータとして取るビューメソッドがないためです。

私が推奨する修正は次のとおりです。

(r'^ucode/(<?P<id>[\d]+)/$', 'ulogin.views.index'),

その後

def index(request, id=None):
    return HttpResponse("Hello, world. You're at the poll index.")

名前付き URL グループの詳細については、こちらをご覧ください。

于 2013-07-23T15:30:15.623 に答える