私は特定のurl
からajax
関数を呼び出し、それぞれのビュー関数を呼び出します。ビュー関数では、別のビューを呼び出すことでページをリダイレクトしたい(なぜなら、私はajaxリクエストの後にレンダリングできないからです)。ここでdjango.urls.exceptions.NoReverseMatch
は私のURLです:
@csrf_exempt
def search_result(request):
keyword = request.POST.get('keyword')
selected = request.POST.get('selected')
url = reverse('new_search_result',
kwargs={'keyword': keyword,
'selected': selected})
return HttpResponseRedirect(url)
# return render(request, 'SearchEngine/search_result.html', {'all_results': result})
そして、ここではnew_search_result
図である:
def new_search_result(request, selected={}, keyword=''):
# code blocks
は、しかし、領事に、私はこれを取得
urlpatterns = [
url(r'^$', views.search, name='search'),
url(r'^search_result/.+$', views.search_result, name='search_result'),
url(r'^new_search_result/$',
views.new_search_result,
kwargs={'selected': '', 'keyword': ''},
name='new_search_result')
]
そして、ここではsearch_result
図でありますエラー:
django.urls.exceptions.NoReverseMatch: Reverse for 'new_search_result' with keyword arguments '{'selected': '{"PANTHER":"ftp.pantherdb.org","Pasteur Insitute":"ftp.pasteur.fr","Rat Genome Database":"ftp.rgd.mcw.edu"}', 'keyword': 'dfasdf'}' not found. 1 pattern(s) tried: ['searchengine/new_search_result/$']
[22/Jul/2017 12:52:12] "POST /searchengine/search_result/dfasdf HTTP/1.1" 500 16814
おかげで、私は別のビューにこれらの変数を渡すために、この場合に何をすべきでしょうか? – Mat
@Mat私は、あなたがしようとしていることを達成できる方法を含めるように答えを更新しました。おそらく他の方法がありますし、ベストはあなたのやっていることの詳細に依存しますが、これが一般的にどのように達成されているかを示すのに十分です。 –