Использование другой переменной класса

Я лично предложил бы использовать объект сеанса для передачи данных из одной формы в другую. Если у вас есть небольшой объем данных, вы можете уйти, просто используя реализацию куки-файлов, которые есть в колбе. В противном случае, вы можете переопределить объект сеансов по умолчанию для хранения сеансов сервера данных с помощью Redis. Это позволяет использовать объекты сеанса, не платя цену хранения большого количества данных в файлах cookie. Это означает, что вы можете сделать что-то вроде

@app.route('/form/step1', methods=['GET', 'POST'])
def form_step1():
    form1 = form_step_1(request.POST)
    user_id = current_user.user_id # If you're using flask-login
    ...validate()...
        # dictionary that holds form1, form2, etch
        form_data = {"form1": form1, "form2": None, "Form3"=None} 
        flask.session[user_id] = form_data
        redirct_to(url_for("form_step2"))
    return render_template('register.html', {'form':form1})  

@app.route('/form/step2', methods=['GET', 'POST'])
def form_step2():
    form1 = session[user_id][form1]
    # A simpler way than passing the whole form is just the data 
    # you want but for this answer I'm just specifying the whole form.
    form = form_step_2(form1)
    user_id = current_user.user_id # If you're using flask-login 
    ...validate()...
        # dictionary that holds form1, form2, etch
        flask.session[user_id]["form2"] = form2
        redirct_to(url_for("form_step3"))
    return render_template('register.html', form=form)

-1
задан Tlaloc-ES 13 February 2019 в 16:34
поделиться

1 ответ

Вы никогда не создаете экземпляр поля _game. Это означает, что всякий раз, когда вы пытаетесь получить доступ к одному из базовых членов, вы получаете NullPointerException. Вы должны убедиться, что _game присвоен экземпляру Game, прежде чем пытаться обратиться к нему.

См. этот пост для получения дополнительной информации о NullPointerException с

0
ответ дан Ferdz 13 February 2019 в 16:34
поделиться
Другие вопросы по тегам:

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