注意:我不知道其他帖子是如何回答這個問題的。我確實發現了以下內容:如果你要打印到瀏覽器,你可以再補充如何打印所有來自python控制器的POST變量
:
return jsonify(request.form)
如果要打印到控制檯,您可以添加:
my_data = request.form
for key in my_data:
print ('form key '+key+" "+my_data[key])
return render_template("some.html")
我試圖用以下控制器打印所有POST變量:
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route("/register", methods=["POST"])
def register():
dict = request.form
for key in dict:
print ('form key '+dict[key])
但是出現錯誤:
ValueError: View function did not return a response
這裏是我的形式:
{% extends "layout.html" %}
{% block title %}
Frosh IMs
{% endblock %}
{% block body %}
<h1>Register for Frosh IMs</h1>
<form action="{{ url_for('register') }}" method="post">
Name: <input name="name" type="text"/>
<br/>
Dorm:
<select name="dorm">
<option value=""></option>
<option value="Apley Court">Apley Court</option>
<option value="Canaday">Canaday</option>
<option value="Grays">Grays</option>
<option value="Greenough">Greenough</option>
<option value="Hollis">Hollis</option>
<option value="Holworthy">Holworthy</option>
<option value="Hurlbut">Hurlbut</option>
<option value="Lionel">Lionel</option>
<option value="Matthews">Matthews</option>
<option value="Mower">Mower</option>
<option value="Pennypacker">Pennypacker</option>
<option value="Stoughton">Stoughton</option>
<option value="Straus">Straus</option>
<option value="Thayer">Thayer</option>
<option value="Weld">Weld</option>
<option value="Wigglesworth">Wigglesworth</option>
</select>
<br/>
<input type="submit" value="Register"/>
</form>
{% endblock %}
也不要命名的東西內置後,所以叫它'your_dict'或者什麼的而不是'字典' – bernie
我不明白。如果我返回render_template,我只會渲染該模板。因爲我可以做,如果request.form [「名稱」]我不能做dict = request.form我從這裏:http://stackoverflow.com/questions/25410944/print-all-post-request-parameters-不知道他們的名字 – DCR
我明白你在說什麼。但是你得到的錯誤是因爲該視圖沒有返回任何東西。 – bernie