python – Cloud Post是否阻止了HTTP Post?
作者:互联网
我一直在使用Cloud9 ide上的Python / Flask.到目前为止很有趣.但是当我尝试在我的测试项目中添加一个http帖子时,Flask返回403或500.据我所知,当我附加数据或发送POST方法时,’request’对象为None.但它没有意义.这是非常直接的,应该尽我所能.这是python:
from flask import Flask, jsonify, abort, request
@app.route('/test', methods = ['POST'])
def post():
print ('started')
print request
if request.method == 'POST':
something = request.get_json()
print something
Flask正常运行.我可以点击GET网址,返回数据就好了.当我登陆’打印请求’时出现错误,因为请求是无.
谢谢,
解决方法:
你有两个问题:
>你得到500错误
>“某事”总是无
第一个问题是因为你没有从你的路线功能返回任何东西.
127.0.0.1 - - [15/Dec/2014 15:08:59] "POST /test HTTP/1.1" 500 -
Traceback (most recent call last):
...snip...
ValueError: View function did not return a response
您可以通过在函数末尾添加return语句来解决此问题.不要忘记它需要是一个字符串.
@app.route('/hi', methods = ['POST'])
def post():
return "Hello, World!"
第二个问题不是它看起来的样子.我怀疑该对象不是None,但返回字符串表示的函数返回None,因此这是打印的内容.尝试打印类型(请求)以查看此操作.
我认为你想要访问的是表单字段.这是一个完整的例子:
from flask import Flask, request
app = Flask(__name__)
@app.route('/test', methods = ['POST'])
def post():
print type(request)
if request.method == 'POST':
print request.form
return str(request.form)
app.run(debug=True)
标签:python,flask,cloud9-ide 来源: https://codeday.me/bug/20190708/1402571.html