redirect
私は、どのように、またはむしろreverse
実際に機能するかを理解する上でいくつかの問題を抱えています。
メインのurls.pyには次のものがあります。
from django.conf.urls import patterns, include, url
from django.views.generic.simple import redirect_to
urlpatterns = patterns('',
url(r'^$', redirect_to, {'url': '/monitor/'}),
url(r'^monitor/', include('monitor.urls')),
)
そしてmonitors.urls
私は持っています:
from django.conf.urls import patterns, include, url
urlpatterns = patterns('monitor.views',
(r'^$', 'index'),
(r'^abc/(?P<id>.*$)', 'abc'),
)
あなたが電話するとき、私は/monitor
それをリダイレクトしたい/monitor/abc
ので、私はしました:
def index(request):
return redirect("abc")
def abc(render, id=None):
return render_to_response("monitor/list.htmld", {})
しかし、私はNoReverseMatch
例外を得ました。しかし、私がそうするとき:
def index(request):
return redirect("abc/")
その後、突然動作します。
理由がよくわかりません。なぜ失敗したがreverse
失敗しabc
なかったのabc/
ですか?reverse
また、リダイレクトに含める必要があることをどのようにして知ることがmonitor/
できますか?メインのurls.pyに、ビューxyz
を持つ別のアプリがあった場合はどうなりますか?abc