Для реализации перенаправления на текущую страницу в Django с использованием функционального представления (FBV) можно воспользоваться функцией redirect
из модуля django.shortcuts
.
1. Импортируем функцию redirect
в файле представления:
from django.shortcuts import redirect
2. Внутри функции представления выполняем перенаправление, указывая в качестве аргумента пустую строку ''
или ключевое слово '.'
, чтобы сделать перенаправление на текущую страницу:
def my_view(request): # ваш код обработки запроса return redirect('')
или
def my_view(request): # ваш код обработки запроса return redirect('.')
3. Обновляем контекст текущей страницы и выполняем перенаправление на эту же страницу в случае успешного выполнения определенных действий. Например, при обработке формы:
from django.shortcuts import render, redirect from .forms import MyForm def my_view(request): if request.method == 'POST': form = MyForm(request.POST) if form.is_valid(): # обработка данных формы return redirect('.') else: form = MyForm() context = { 'form': form, } return render(request, 'my_template.html', context)
После успешной обработки данных формы функция redirect('.')
выполнит перенаправление на ту же страницу, на которой пользователь отправил форму.
Таким образом, использование функции redirect('.')
вместе с пустым аргументом или ключевым словом '.'
позволяет осуществить перенаправление на текущую страницу в Django с помощью функционального представления.