这是我的基本HTML文件:
<html>
<head>
<title>names</title>
</head>
<body>
<div>PS: <a href="/ps">Home</a></div>
<hr>
{% block content %}{% endblock %}
</body>
</html>
这是我的tasks.html文件
{% extends "base.html" %}
{% block content %}
<div class="page">
<table>
<tr>
<form action="{{ url_for('new_task') }}" method="POST" class=new-task>
</tr>
<tr>
<td>
<label>name :</label>
<select name="name" width="100px">
<option value="1">name1</option>
<option value="2">name2</option>
<option value="3">name3</option>
<option value="4">name4</option>
<option value="5">name5</option>
</select>
</td>
<td>
<input class="button1" type="submit" value="Press">
</td>
</form>
</tr>
</table>
</div>
</table>
{% endblock %}
这是我的python文件views.py
from flask import render_template
from app import app
@app.route('/tasks', methods=['POST'])
def new_task():
tts = request.form['name']
flash(str(tts)+'is being selected')
render_template("tasks.html")
@app.route('/ps')
def ps():
render_template("ps.html")
我想只打印从下拉菜单中选择的值。 但是我收到了这个错误 “方法不允许 请求的URL不允许使用该方法。“ 实际上我是烧瓶编程的新手 请告诉我我在哪里做错了。帮助将受到高度赞赏:)
答案 0 :(得分:3)
通常不允许的方法与GET / POST等的表单方法有关。我建议稍作修改。
<强>模板强>:
<form action="{{ url_for('new_task') }}" method="POST" class=new-task>
查看强>:
@app.route('/tasks/', methods=['GET','POST'])
def new_task():
if request.method == 'POST':
tts = request.form['tts']
flash(str(tts)+'is being selected')
return render_template("tasks.html")