从模板中插入 HiddenField 的值 - Flask
Getting value of an HiddenField inserting it from template - Flask
我是 Python/Flask 编程的新手,我在 return 从我的模板中插入 HiddenField 的值时遇到了一些问题。
这是我的表格 Class:
class DownloadForm(Form):
link = HiddenField()
download = SubmitField('Download')
这是我的模板 "Material",其中有一个 table,我将我的 material 从数据库中放入其中,我试图将 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 都 link 编辑了 table 的特定行。
变量 mat.link 包含用户要下载的 material 的 url 但我无法通过函数 [=39 获取此值=]['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))
我尝试调试我的应用程序,变量 link 结果等于 "mat.link" 作为一个字符串。
有谁可以帮助我吗 ?
谢谢
在您的模板中,'{{mat.link}}'
是一个字符串。如果你想要mat.link
的值,你需要把它作为一个变量来使用。
{{ formDownload.link(value=mat.link) }}
我是 Python/Flask 编程的新手,我在 return 从我的模板中插入 HiddenField 的值时遇到了一些问题。
这是我的表格 Class:
class DownloadForm(Form):
link = HiddenField()
download = SubmitField('Download')
这是我的模板 "Material",其中有一个 table,我将我的 material 从数据库中放入其中,我试图将 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 都 link 编辑了 table 的特定行。 变量 mat.link 包含用户要下载的 material 的 url 但我无法通过函数 [=39 获取此值=]['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))
我尝试调试我的应用程序,变量 link 结果等于 "mat.link" 作为一个字符串。 有谁可以帮助我吗 ? 谢谢
在您的模板中,'{{mat.link}}'
是一个字符串。如果你想要mat.link
的值,你需要把它作为一个变量来使用。
{{ formDownload.link(value=mat.link) }}