How to get form data in Flask?
本问题已经有最佳答案,请猛点这里访问。
我需要从表格中获取数据。
我使用javascript创建表单:
1 2 3 4 5 6 7 8 9 10 11 | function checkAuth() { var user = ADAL.getCachedUser(); if (user) { var form = $('<form style="position: absolute; width: 0; height: 0; opacity: 0; display: none; visibility: hidden;" method="POST" action="{{ url_for("general.microsoft") }}">'); form.append('<input type="hidden" name="token" value="' + ADAL.getCachedToken(ADAL.config.clientId) + '">'); form.append('<input type="hidden" name="json" value="' + encodeURIComponent(JSON.stringify(user)) + '">'); $("body").append(form); form.submit(); } } |
然后我需要从
这是我的视图功能:
1 2 3 4 5 6 | @general.route("/microsoft/", methods=["GET","POST"]) @csrf.exempt def microsoft(): form = cgi.FieldStorage() name = form['json'].value return name |
号
但我得到一个错误:
江户十一〔一〕号
帮助我从表单中获取数据。
从Flask的请求对象获取表单数据:
1 2 3 4 5 6 7 | from flask import Flask, request app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def index(): data = request.form['input_name'] ... |
还可以设置默认值以避免400个错误,如下所示:
1 2 3 4 5 6 7 8 | from flask import Flask, request app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def index(): default_name = '0' data = request.form.get('input_name', default_name) ... |
号