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