我无法从显示的HTML表单中获取任何内容
我总是得到" ValueError:View函数没有返回响应"
有人可以帮帮我吗?我已经尝试了我可以在网上找到的request.get的每个变体。另外,如果我指定我的表格应该使用帖子它仍然使用get - 任何人都知道为什么这是?
我是新来的烧瓶,请原谅我的无知!
提前致谢。
python文件(routes.py)
from flask import Flask, render_template, request
import os
app = Flask(__name__)
musicpath = os.listdir(r"C:\Users\Oscar\Music\iTunes\iTunes Media\Music")
lsize = str(len(musicpath))
looper = len(musicpath)
@app.route('/')
def home():
return render_template('home.html', lsize=20, looper=looper, musicpath=musicpath)
@app.route('/pop', methods=['POST', 'GET'])
def pop():
if request.method == "GET":
text = request.args.get('som')
return text
#Have tried every variation of request.get
@app.route('/about')
def about():
name = "Hello!"
return render_template('about.html', name=name)
if __name__ == '__main__':
app.run(debug=True)
html文件(home.html)
{% extends "layout.html" %}
{% block content %}
<div class="jumbo">
<h2>A Music app!<h2>
</div>
<div>
{% if lsize %}
<form action="/pop">
<select id="som" size="20">
{% for i in range(looper):%}
<option value="{{i}}">{{ musicpath[i] }}</option>
{% endfor %}
</select>
</form>
{% endif %}
</div>
<a href="{{ url_for('pop') }}">Select,</a>
{% endblock %}
答案 0 :(得分:0)
您的name
元素上没有select
属性。这是浏览器用于在表单中发送信息的属性;没有它就不会发送数据。
另请注意,如果方法是POST,您的pop
处理程序不会执行任何操作,即使您明确表示您接受该方法。