如何从烧瓶中的下拉框打印值?

时间:2013-06-26 12:13:18

标签: python flask

这是我的基本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>
  &nbsp;
  &nbsp;
  <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不允许使用该方法。“ 实际上我是烧瓶编程的新手 请告诉我我在哪里做错了。帮助将受到高度赞赏:)

1 个答案:

答案 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")