Flask:为什么我的视图没有渲染我想要的模板?

时间:2018-06-25 18:52:12

标签: python html flask

这是我创建的类,是flask大型教程的RegistrationForm

的模型
x.matches('^prefix.*') == true

我已经在此视图中实现了该类:

class eyeReaderInput(FlaskForm):
    article =  StringField('Article')
    submit = SubmitField('Enter')

这是我的@app.route('/eyereader', methods=['GET', 'POST']) def eyereader(): form = eyeReaderInput() sTuple = () if form.validate_on_submit(): string = wikipedia.page(form.article.data) for chunk in textwrap.wrap(string, 15): sTuple += (chunk,) return render_template('eyereader.html', string = sTuple, form = form) else: return render_template('eyereader.html', form = form)

模板
eyereader.html

我希望用户最初使用“ GET”请求(在我查看控制台时会发生这种情况)访问眼读网站,并且一旦用户插入了他希望的维基百科文章读取后,它将发送带有新字符串参数的“ POST”请求,该请求将使<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {% if string %} <p><span> {% for s in string %} [{{s}}]<pre class="tab"></pre> {% endfor %} </span></p> {% else %} <p>Please input an article name</p> <form action = "" method = "post"> <p>{{ form.article.label}}<br> {{ form.article() }}</p> <p>{{ form.submit() }}</p> </form> {% endif %} </body> </html> 为true,而显示维基百科文本。

但是,当我对此进行测试时,“ GET”和“ POST”请求最终都会进入输入页面。有谁知道我可以为使此功能生效而进行的更改?谢谢。

1 个答案:

答案 0 :(得分:0)

选项1:使用两个模板处理条件内容,将每个模板绑定到不同的表单操作(GET / POST)。

BigDecimal qwe = new BigDecimal("123.3");

选项2:使用JavaScript根据需要动态填充内容。

$(document).ready(function () {
    var table = $('#example').DataTable({});

    // Handle click on "Select all" control
    $('#example-select-all').on('click', function () {
        // Check/uncheck all checkboxes in the table
        var rows = table.rows({ 'search': 'applied' }).nodes();
        $('input[type="checkbox"]', rows).prop('checked', this.checked);
    });
});

$("#gg").click(function () {
    $("input:checkbox[class=chk]:checked").each(function () {
        alert($(this).val());
    });
});