gpt4 book ai didi

python - 如何使用 Flask 通过 HTML 表单携带带空格的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 09:49:09 24 4
gpt4 key购买 nike

我正在尝试使用 Flask 和 Python 3.6 构建一个简单的在线测验,使用带有单选按钮的 HTML 表单在 Flask 路径之间携带选定的答案。第一步是为测验选择一个类别,然后进入实际的测验页面,如下所示:

app = Flask(__name__)
categories = ['Europe', 'South America', 'North America']
@app.route('/')
def select():
return render_template('selecting.html', cats= categories)

@app.route('/quiz', methods = ['POST'])
def quizing():
selected_cat = request.form['categories']
return "<h1>You have selected category: " + selected_cat + "</h1>

其中'selecting.html'如下:

<form action='/quiz' method='POST'>
<ol>
{% for cat in cats%}
<li><input type = 'radio' name= 'categories' value ={{cat}}>{{cat}}</li>
{% endfor %}
</ol>
<input type="submit" value="submit"/>
</form>

当我选择“欧洲”时,测验页面显示:

<h1>You have selected category: Europe</h1>

但是,当我选择“北美”时,测验页面显示为:

<h1>You have selected category: North</h1>

为什么 Flask 路由之间没有携带所选类别的第二个单词,我该怎么做才能保留完整的类别名称?

最佳答案

根据HTML5 documentation , 未加引号的属性不能有嵌入空格。

您的 input 元素扩展为以下文本:

<input type = 'radio' name= 'categories' value =North America>

即使您的意思是它有一个 value 属性,其值为 North America,但它实际上有一个 value 属性,其值为North 的值和具有空值的 America 属性。

尝试引用 value 属性值:

<li><input type = 'radio' name= 'categories' value ="{{cat}}">{{cat}}</li>

关于python - 如何使用 Flask 通过 HTML 表单携带带空格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48572024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com