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.

Вернуться на верх