Чтение из flask .session возвращает пустой список - PullRequest
0 голосов
/ 07 августа 2020
Приложение

My Flask имеет следующий маршрут, который отображает сетку изображений вместе с WTForm для пользовательского ввода. Мое желаемое поведение - сохранить текущий образец изображений, когда форма отправлена, но недействительна. Моя идея заключалась в том, чтобы сохранить образец из последнего запроса GET в прокси flask .session. Однако, когда образец считывается из session, возвращается пустой список.

Я установил тип сеанса на filesystem в конфигурации приложения. Я читал, что данные, хранящиеся в сеансе, на самом деле записываются в файлы cookie и поэтому должны быть JSON -сериализованы, но, поскольку мы имеем дело со списком строк, это не проблема.

@app.route('/', methods=['GET', 'POST'])
@login_required
def hello():
    input_form = TagForm()
    data_index = g._index
    if request.method == 'GET':
        sample = sampling.sample(16, data_index)
        print('storing sample')
        session['curr_sample'] = sample
        print('stored sample:')
        print(session['curr_sample'])
    elif request.method == 'POST':
        print('reading sample')
        sample = session['curr_sample']
        print('stored sample:')
        print(session['curr_sample'])
        if input_form.validate_on_submit():
            # commit tag to db
            return redirect(url_for('hello'))
        else:
            flash('Could not commit.', 'danger')
    return render_template('grid.html', sample=sample, form=input_form)

Вот вывод с сервера:

storing sample
stored sample:
['2_3_3.png', '2_11_15.png', '2_11_15.png', '2_14_15.png', '2_17_11.png', '2_11_11.png', '2_18_15.png', '2_10_0.png', '2_7_12.png', '2_3_2.png', '2_9_15.png', '2_19_12.png', '2_17_12.png', '2_5_11.png', '2_10_2.png', '2_11_11.png']
127.0.0.1 - - [07/Aug/2020 15:08:48] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [07/Aug/2020 15:08:48] "GET /cdn/2_11_11.png HTTP/1.1" 200 -
127.0.0.1 - - [07/Aug/2020 15:08:48] "GET /cdn/2_17_12.png HTTP/1.1" 200 -
127.0.0.1 - - [07/Aug/2020 15:08:48] "GET /cdn/2_5_11.png HTTP/1.1" 200 -
127.0.0.1 - - [07/Aug/2020 15:08:48] "GET /cdn/2_9_15.png HTTP/1.1" 200 -
127.0.0.1 - - [07/Aug/2020 15:08:48] "GET /cdn/2_3_2.png HTTP/1.1" 200 -
127.0.0.1 - - [07/Aug/2020 15:08:48] "GET /cdn/2_10_2.png HTTP/1.1" 200 -
127.0.0.1 - - [07/Aug/2020 15:08:48] "GET /cdn/2_18_15.png HTTP/1.1" 200 -
127.0.0.1 - - [07/Aug/2020 15:08:48] "GET /cdn/2_11_15.png HTTP/1.1" 200 -
127.0.0.1 - - [07/Aug/2020 15:08:48] "GET /cdn/2_3_3.png HTTP/1.1" 200 -
reading sample
stored sample:
[]
127.0.0.1 - - [07/Aug/2020 15:09:40] "POST / HTTP/1.1" 302 -
...