为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕勒3428872 2023-08-22 14:49:42
我正在构建一个 API,问题:TypeError: 'module' object is not callable代码:from flask import Flaskfrom flask_restful import Resource, Apiimport requests, jsonify, jsonapp = 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)
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

短的

您正在使用模块 jsonify 并直接调用它(这不起作用,正如错误所示:模块不可调用)。

使用模块jsonify中的函数flask

from 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, 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)


查看完整回答
反对 回复 2023-08-22
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

看起来你导入jsonify模块并直接调用它

jsonify(r)


查看完整回答
反对 回复 2023-08-22
  • 2 回答
  • 0 关注
  • 1654 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信