2013-01-17 2 views
1

В документации Колба, он дает следующий пример кода:Колба: Почему я не могу сохранить cookie без ответа?

from flask import make_response 

@app.route('/') 
def index(): 
    resp = make_response(render_template(...)) 
    resp.set_cookie('username', 'the username') 
    return resp 

Почему это необходимо сделать объект ответа? Невозможно установить cookie каждый раз с помощью javascript?

+0

В большинстве языков файлы cookie выполняются на объекте ответа. Я знаю, что Java, javascript (nodejs) express framework. –

+0

Могу ли я просто сделать произвольную переадресацию, но на самом деле не следовать через эту переадресацию, просто чтобы получить ответ, а затем установить cookie на этот ответ? – Oliver

+0

Да, конечно, вы можете просто установить cookie и перенаправить пользователя. Но я не знаю, как это сделать в колбе. –

ответ

0

Ключевым понятием было то, что маршруты ожидают объекты ответа, поэтому когда вы делаете render_template (..) или перенаправляете (url_for (..)), который возвращает объект ответа, содержащий ваш визуализированный вид. На самом деле не имеет значения, что вы сразу же устанавливаете cookie, вам вообще нужно возвращать ответ на любом маршруте, так что, возможно, это тоже произойдет, если это удобно.

+0

Как вы достигли такого поведения? – tmthyjames

Смежные вопросы