猿问

使用 Flask 框架从 Python 中的 Pokemon API 获取请求

我正在构建一个 API,

问题: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)


慕勒3428872
浏览 1655回答 2
2回答

神不在的星期二

短的您正在使用模块 jsonify 并直接调用它(这不起作用,正如错误所示:模块不可调用)。使用模块jsonify中的函数flaskfrom flask import jsonify长的模块是包含代码(类、函数等)的 Python 文件的一个奇特名称。import 语句允许您导入模块(即包括运行时中模块的代码)。导入模块意味着您可以从模块内部执行函数并使用类。这并不意味着您可以调用模块本身。jsonify 模块与您打算使用的 jsonify 函数完全不同(并且不同): https: //pypi.org/project/jsonify/您要使用的 jsonify 函数是 Flask 模块 ( from flask import jsonify) 的一部分。请参阅https://flask.palletsprojects.com/en/1.1.x/api/#flask.json.jsonify该函数返回一个 Flask 响应对象,由您决定要在响应中封装 Pokemon api 中的哪些数据!from flask import Flask, jsonifyfrom flask_restful import Resource, Apiimport requestsapp = 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)
随时随地看视频慕课网APP

相关分类

Python
我要回答