Django 1.10では、URLまたはビュー名による他のビューへのリダイレクトは機能しません。Django 1.10:別のビューにリダイレクトするか、動作していないURLです。 django.urls.exceptions.NoReverseMatch
主urls.pyファイルは以下の通りである:
urlpatterns = [
url(r'^', include('app1.urls')),
]
APP1内部urls.pyファイルである:
from django.conf.urls import url
from . import views
app_name = 'app1'
urlpatterns = [
url(r'^$', views.home, name='home'),
url(r'^details/$', views.details, name='details'),
]
APP1用views.pyは以下の通りである:
from django.shortcuts import render, redirect
from django.utils.timezone import now
import datetime
from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse
def home(request):
if request.method == 'POST':
print("redirected from home..................")
url = reverse('details')
return HttpResponseRedirect(url)
# return redirect('app1:details')
# return redirect('/details/')
# return redirect('details')
print("Not redirected..................")
return render(request, "app1/index.html", {})
def details(request):
print("Redirect OK inside details")
today = datetime.date.today()
return render(request, "app1/details.html", {
'today': today,
'now': now(),
'email_text': request.POST.get('email_item', 'bla bla'),
})
私はHttpResponseRedirectとリダイレクトの両方を使用するようなコメント付きコードでホームビューのすべてのオプションを試しましたが、rできませんでした詳細ビューに移動します。任意の提案が役立つだろう
django.urls.exceptions.NoReverseMatch: Reverse for 'details' with
arguments '()' and keyword arguments '{'request': <HttpRequest>}' not found. 0 pattern(s) tried: []
:
私は同じことを確認するためにテストを書いています。テストの詳細はこちら:[https://dpaste.de/aYBV](https://dpaste.de/aYBV) – Blueice
プロジェクトディレクトリはこちら[https://dpaste.de/kO0q](https: //dpaste.de/kO0q)とROOT_URLCONF = 'main.urls'を設定/ベースに追加します。py – Blueice