Django перенаправление путем вызова функции просмотра? - PullRequest
1 голос
/ 14 июля 2020

Мне нужно перенаправить, сохранив исходный запрос. Соответствует ли этот подход Django 3 logi c или я создаю какую-то фатальную катастрофу?

def final_view(request):
    # use some_new_variable to do stuff and then display it in the template
    return render(request, another_template_name, {})

def original_view(request):
    # do stuff
    request.some_new_variable = "x"
    return final_view(request)

1 Ответ

0 голосов
/ 15 июля 2020

Не уверен, что именно вы пытаетесь выполнить sh, но вы всегда можете передать some_new_variable через URL

Например:

views.py

def original_view(request):
    x = # do your stuff here
    return redirect('final_view_url', var=x)

def final_view(request, var)
    final_var = # do some additional stuff with var here
    return render(request, another_template_name)

urls.py

path('/final_view/<var>', views.final_view, name="final_view_url")

Итак, вы отправляете исходный запрос в «original_view», делаете кое-что, а затем передаете эту переменную в URL на "final_view"

...