У меня проблема, с которой я не могу найти решение. У меня есть кнопка в навигационной панели, которая доступна на всех страницах, и это кнопка, ответственная за создание некоторого контента.Как перенаправить на предыдущую страницу в Django после запроса POST
Вид, который связывает с кнопкой:
def createadv(request):
uw = getuw(request.user.username)
if request.method =='POST':
form = AdverForm(request.POST, request.FILES)
if form.is_valid():
form.instance.user = request.user
form.save()
return HttpResponseRedirect('/', {'username': request.user.username, 'uw': uw})
args = {}
args.update(csrf(request))
args['username'] = request.user.username
args['form'] = AdverForm()
args['uw'] = uw
return render_to_response('createadv.html', args)
Если вы можете видеть, теперь я всегда перенаправляет на главную страницу «/» после создания контента, но я хочу, чтобы вернуться на страницу, с которой я начал в создание содержание.
добавить запрос .META.get ('HTTP_REFERER', '/') в HttpResponseRedirect, но, к сожалению, это не помогло. В этом случае после отправки я остаюсь на странице «createadv». – Oleg
У вас может быть дополнительная переадресация между ними. Убедитесь, что у вас есть конечная косая черта в вашем теге 'form action =" ... ", например' action = "/ createadv /" '. – Selcuk
Когда вы публикуете форму, тогда ваш 'HTTP_REFERER' будет страницей, откуда вы отправили форму, которая на самом деле является той же страницей в этом случае. –