我正在使用一个简单的REST服务,方法deleteTweets()无法检索我发送的URL参数,因此尝试打印以查看发送的内容但我得到了这个错误行。
File "C:\Path\HomeController.py", line 26, in deleteTwee
ts
id = request.args.get['id']
AttributeError: 'function' object has no attribute 'args'
127.0.0.1 - - [17/Jan/2018 12:00:05] "DELETE /api/deleteTweet?id=ABC HTTP/1.1" 500
这段代码:
import json
import Service
from flask import Flask, render_template,jsonify,request
app = Flask(__name__)
apiUrl='/api'
@app.route('/')
def hello_world():
return render_template("/home.html", code=400)
@app.route(apiUrl+'/getData', methods=['GET'])
def test_request():
list = [15,21,8]
return jsonify(list)
@app.route(apiUrl+'/getTweets', methods=['GET'])
def request():
return Service.getAlltwits()
@app.route(apiUrl+'/deleteTweet', methods=['DELETE'])
def deleteTweets():
id = request.args.get['id']
print(id)
return
这很简单,但不确定我错过了什么。
还尝试了id = request.args.get('id')
答案 0 :(得分:4)
您正在做正确的事 - 并且您正在导入request
。
但是你有一个名为request
的函数,这个函数会覆盖以前的名字(这是实际的烧瓶请求):
@app.route(apiUrl+'/getTweets', methods=['GET'])
def request():
return Service.getAlltwits()
将名称更改为get_tweets
:
@app.route(apiUrl+'/getTweets', methods=['GET'])
def get_tweets():
return Service.getAlltwits()
答案 1 :(得分:2)
您已定义了一个名为request
的函数,因此隐藏了全局请求变量。重命名路线功能。