Flask,WTForms在新标签中打开多个网址

时间:2017-07-12 14:28:47

标签: python flask wtforms flask-wtforms

我正在使用Flask构建一个小应用程序来重启多个基于IP的设备。我希望有一个设备清单,当我可以通过并提交时,它将打开ip / rebootpage.html。截至目前,我的代码尝试组合表单/ rebootpage中的所有数据。以下是我到目前为止的情况:

app.py

from flask import Flask, render_template, redirect
from flask_wtf import FlaskForm
from wtforms import widgets,SelectMultipleField

app = Flask(__name__)
app.config['SECRET_KEY'] = "565&SDdsa7fgSdst7%6"

Test_Choices = [('10.202.214.196', '#61'), ('10.202.214.197', '#62')]
Test_Choices_NR = [('10.202.214.198', 'Net Relay 1')]


class RebootForm(FlaskForm):
    available = SelectMultipleField('Available', choices=Test_Choices,
                                    option_widget=widgets.CheckboxInput(),
                                    widget=widgets.ListWidget(prefix_label=False))
    availableNR = SelectMultipleField('Available Net Relays', choices=Test_Choices_NR,
                                      option_widget=widgets.CheckboxInput(),
                                      widget=widgets.ListWidget(prefix_label=False))


@app.route('/form', methods=['GET', 'POST'])
def form():
    form = RebootForm()
    if form.validate_on_submit():
        list = '{}'.format(form.available.data).replace("'", "").replace("[", "").replace("]", "")
        for each in list:
            return redirect('http://{}/rc.cgi?L=uirreboot.html&c=99'.format(each))
    return render_template('form.html', form=form)

if __name__ == '__main__':
    app.run(debug=True)

1 个答案:

答案 0 :(得分:0)

IRC周围的一点询问让我得到了答案。答案是我必须使用请求(不是请求,有2种不同的东西)。我的最终代码看起来像这样,效果很好。请注意,请求无需打开页面即可发出请求。

<强> app.py

ResponseGroup