【问题标题】:In Flask, how do you update an input field in a template?在 Flask 中,如何更新模板中的输入字段?
【发布时间】:2012-07-29 12:05:13
【问题描述】:

作为 Flask 的新手,我阅读了 Flask an Jinja 的手册,我知道如何从模板中读取文件,但不知道如何更新模板。

我的模板具有以下我从文档中修改的结构

<form action="{{ url_for('add_entry') }}" method=post class=add-entry>
      <dl>
        <dt>Documet:
        <dd><input   name=text size = 80 value = {{ AO_sDocument }} > </input >   
        <dd><input type=submit value=Analyse>
      </dl>
    </form>

我的 Python 有以下行

render_template('show_entries.html',   AO_sDocument=AO_sDocument )

是的,这一行似乎没有更新该字段。

谢谢!

【问题讨论】:

  • 我认为您发布的 sn-p 中缺少一些相关的代码部分。 python中变量AO_sDocument是如何填充的?
  • 这个示例实际上是从您的模板中复制和粘贴的吗?您确实意识到您在所有标签属性(动作除外)周围都缺少"?如果 AO_sDocument 有效,我不会感到惊讶,但浏览器无法成功解析您的示例。

标签: python flask jinja2


【解决方案1】:

正如 Jon Clements 所指出的,您的 HTML 存在一些标记错误。为了保证所有浏览器都能正确解析 HTML,您的模板标记应如下所示:

<form action="{{ url_for('add_entry') }}" method="post" class="add-entry">
    <dl>
        <dt>Document:</dt>
        <dd><input name="text" size="80" value="{{ AO_sDocument }}" /></dd>
        <dd><input type="submit" value="Analyse" /></dd>
    </dl>
</form>

或者,您可能希望放弃使用 &lt;dl&gt;&lt;dt&gt; 转而使用 &lt;label&gt;,这在语义上稍微正确:

<form action="{{ url_for('add_entry') }}" method="post" class="add-entry">
    <label for="text">Document:</label>
    <input id="text" name="text" size="80" value="{{ AO_sDocument }}" />
    <input type="submit" value="Analyse" />
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    • 1970-01-01
    • 2014-08-04
    • 2020-03-31
    • 1970-01-01
    相关资源
    最近更新 更多