Python Flask& Python中的HTML局部变量(UnboundLocalError)

时间:2017-07-16 13:54:35

标签: python html parsing variables local-variables

我正在使用Python Flask来托管主要运行的Web服务器。我理解这个问题,但我不知道如何解决它。据我所知,在显示的代码中,当网站首次启动时,它会渲染模板,变量“CurtainCloseTime”没有赋值。所以我在我的网站上有两个表格,我输入窗帘关闭和打开的时间,因此变量名称。变量“CCT”表示CurtainCloseTime,是HTML文件中的变量,因为我希望它显示回网页。

这是Python Flask Code:

Intent

1 个答案:

答案 0 :(得分:0)

首先,我认为您的问题中存在缩进问题。我想你的实际代码是:

@app.route('/', methods=['GET','POST'])
def index():
    if request.method == 'POST': #If there is an input from form
        CurtainOpenTime = request.form['CurtainOpenTime'] # CurtainOpenTime variable in python to the html CurtainOpenTime variable.
        CurtainCloseTime = request.form['CurtainCloseTime'] #Assign CurtainCloseTime variable in python to the html CurtainCloseTime variable.

    return render_template('Index.html',  CCT=CurtainCloseTime)

如果这是你的代码(但我们不能确定),那么如果http方法是'GET',CCT没有价值。您必须在'if'语句之外指定它:

@app.route('/', methods=['GET','POST'])
def index():
    CurtainCloseTime = # define a default value here

    if request.method == 'POST': #If there is an input from form
        CurtainOpenTime = request.form['CurtainOpenTime'] # CurtainOpenTime variable in python to the html CurtainOpenTime variable.
        CurtainCloseTime = request.form['CurtainCloseTime'] #Assign CurtainCloseTime variable in python to the html CurtainCloseTime variable.

    return render_template('Index.html',  CCT=CurtainCloseTime)