tarlis
@tarlis
Student

Как сделать redirect после отправки response?

Есть view, которая получает параметр, нужно проверять есть ли этот параметр в cookie:
a) редиректить
b) если нету, то добавлять в куки и редиректить... Как совместить редирект и отправку респоунса...

def redirect_to_basic_url(request, arg_one):
    obj = get_object_or_404(Model, model_param=arg_one)
    if str(arg_one) in str(request.COOKIES.get('cookie_name')):
        return redirect(obj.PARAM)
    else:
        context = {'short_cookie': str(request.COOKIES.get('cookie_name'))}
        context['short_cookie'] += ' | ' + str(arg_one)
        response = render(request, 'template.html', context)
        response.set_cookie('cookie_name', context['short_cookie'])
        return response #and redirect(obj.PARAM)
  • Вопрос задан
  • 301 просмотр
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
response = redirect(obj.PARAM)
response.set_cookie('cookie_name', context['short_cookie'])
return response
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
un1t
@un1t
Как-то так:
...
response['Location'] = '/myurl/'
response.status_code = 302
return response
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы