У меня есть такой код:Колба сессия пуста после перенаправления
from flask import Flask, render_template, redirect, request, url_for, session
app = Flask(__name__)
@app.route('/')
def index():
tmplt = session.get('template', 'No template')
return render_template('index.html', template=tmplt.decode('utf-8'))
@app.route('/template', methods=['POST'])
def upload_template():
session['template'] = request.files['template'].read()
return redirect(url_for('index'))
if __name__ == '__main__':
app.secret_key = '\x0cw1\xd4\xd5\x80%O?q \xcfQrrk\xa3H\xc0[J\xae<\xc3]\xe6\x10\xc0-\xf8S\x08P4[3]PrK\xa9\xf1'
app.run(debug=True)
Я ожидаю, что после успешного выполнения POST /template
, переменная tmplt
будет равна тому, что было загрузить. Однако он пуст. Отладка показывает, что session['template']
перед перенаправлением хранит содержимое файла, как и ожидалось.
Любой может предложить, в чем проблема? Колба документы и прибегая к помощи не помогло :(
так просто ... спасибо! –
пожалуйста, как это сделать? – hubert
@hubert, если у вас есть проблема выше (данные сеанса слишком велики, чтобы их можно было сохранить в cookie), тогда вам нужно изменить свой код, чтобы уменьшить эти данные - не храните большие вещи в cookie или не используйте локальное хранилище браузера для сохранения пользовательских данных вместо cookie (или оба, например, имеют идентификационную информацию пользователя в файле cookie, поэтому вы можете идентифицировать пользователя на сервере и кэшировать пользовательские данные в локальном хранилище). –