【问题标题】:Getting value of an HiddenField inserting it from template - Flask从模板中获取 HiddenField 的值 - Flask
【发布时间】:2016-01-03 14:54:26
【问题描述】:

我是 Python/Flask 编程的新手,我在返回从模板插入的 HiddenField 的值时遇到了一些问题。

这是我的表单类:

class DownloadForm(Form):
link = HiddenField()
download = SubmitField('Download')

这是我的模板“材料”,其中有一个表格,我将数据库中的材料放入其中,并尝试将 HiddenField 的值放入其中:

    <tbody>
    {% for mat in materials %}
      <tr>
        <td>{{ mat.author }}</td>
        <td>{{ mat.title }}</td>
        <td>{{ mat.subject }}</td>
        <td>{{ mat.description }}</td>
                    <td>{{ mat.faculty }}</td>
                    <td>{{ mat.professor }}</td>
                    <td>
          <select class="form-control">
            <option>1</option>
            <option>2</option>
            <option>3</option>
            <option>4</option>
            <option>5</option>
          </select>
        </td>
          <form method="POST" enctype="multipart/form-data" action={{url_for('download')}}>
          {{ formDownload.link(value = '{{mat.link}}')}}
        <td>{{ formDownload.download }}</td>
          </form>
        <td>{{ formDelete.delete }}</td>
      </tr>
  {% endfor %}
  </tbody>
  </table>

问题出在我想插入 HiddenField 值的这行代码中。

{{ formDownload.link(value = '{{mat.link}}')}}

我想在此处插入值,因为每个 SubmitField 都与表的特定行链接。 变量 ma​​t.link 包含用户想要下载的材料的 url,但我无法使用函数 form.request['link'] 获取该值。

这是我提交表单时的函数下载:

@app.route('/download', methods=['GET', 'POST'])
def download():

form = DownloadForm(csrf_enabled=False)

if form.validate_on_submit():
    link = request.form['link']
    return redirect(url_for('download',
                            filename=link))

我尝试调试我的应用程序,variable link 结果等于 "mat.link" 作为字符串。 有人能帮助我吗 ? 谢谢

【问题讨论】:

    标签: python templates flask wtforms hiddenfield


    【解决方案1】:

    在您的模板中,'{{mat.link}}' 是一个字符串。如果您想要mat.link 的值,则需要将其用作变量。

    {{ formDownload.link(value=mat.link) }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 2011-10-24
      相关资源
      最近更新 更多