Django как я могу перенаправлять после результата запроса post
def postDataRequest(request):
if request.method == 'POST':
username = request.POST['username']
userid= request.POST['userid']
if(userid== "21310"):
context = {
"result" : Dataengine(username,userid).dataFunc()
}
messages.add_message(request, messages.SUCCESS, context)
return render(request, 'pages/dataresult.html', context)
Я показываю некоторые данные пользователям с помощью post-запроса. Я хочу сделать перенаправление 'pages/index.html'
в течение 30 секунд после того, как пользователь увидит результат на странице 'dataresult.html'
. Как я могу это сделать?
В шаблоне вы можете позволить странице перенаправляться на заданный URL с помощью:
<meta http-equiv="refresh" content="5; URL={% url 'name-of-index-view' %}">
<link rel="canonical" href="{% url 'name-of-index-view' %}">
добавив это в отделение <head>
в шаблоне, который отображается представлением, запускаемым с помощью dataresult.html
URL.
вы можете использовать return redirect('app:view') он перенаправит вас на следующий вид и если вы хотите перенаправить с context значениями, то вы можете либо
1.from django.http import HttpResponseRedirect
return HttpResponseRedirect(reverse('app:view', context))
или
2. redirect(reverse('app:view', context))
Потому что в django вы не можете передавать параметры с помощью редиректа. Единственный вариант - передать их как часть URL.