[英]Not able to get request headers for flask python API on PythonAnywhere
[英]GET request from Pokemon API in Python with Flask Framework
我正在构建一个 API,它从https://pokeapi.co/获取名称和描述信息,并用这个https://funtranslations.com/api/shakespeare翻译描述。
当前意图:当我请求http://127.0.0.1:5000/v1/pokemon时,我只是想让原始的 151 只宠物小精灵在我的服务器上显示为 JSON
问题: TypeError: 'module' object is not callable
代码:
from flask import Flask
from flask_restful import Resource, Api
import requests, jsonify, json
app = Flask(__name__)
api = Api(app)
class Pokemon(Resource):
def get(self, name, description):
return info[name, description]
@app.route('/v1/pokemon/')
def orig_names():
r = requests.get(
'https://pokeapi.co/api/v2/pokemon?limit=151%27')
return jsonify(r)
您正在使用模块 jsonify 并直接调用它(这不起作用,如错误所述:模块不可调用)。
使用jsonify
模块中的flask
from flask import jsonify
模块是带有代码(类、函数等)的 Python 文件的奇特名称。 import 语句允许您导入一个模块(即在您的运行时中包含模块中的代码)。 导入模块意味着您可以从模块内部执行函数和使用类。 这并不意味着您可以调用模块本身。
jsonify 模块与您打算使用的 jsonify function 完全不同(并且不同): https://pypi.org/project/jsonify/
您要使用的 jsonify function 是 Flask 模块的一部分( from flask import jsonify
)。 请参阅https://flask.palletsprojects.com/en/1.1.x/api/#flask.json.jsonify
function 返回一个 Flask 响应 object,你想在响应中封装 Pokemon api 的哪些数据由你决定!
from flask import Flask, jsonify
from flask_restful import Resource, Api
import requests
app = Flask(__name__)
api = Api(app)
class Pokemon(Resource):
def get(self, name, description):
return info[name, description]
@app.route('/v1/pokemon/')
def orig_names():
r = requests.get(
'https://pokeapi.co/api/v2/pokemon?limit=151%27')
response_data = {} # up to you
return jsonify(**response_data)
貌似导入jsonify
模块直接调用
jsonify(r)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.