TypeError:object()在导入类文件时不带参数

时间:2017-10-24 01:06:29

标签: python flask python-import

我正在尝试在另一个python文件中导入python类,但我一直收到错误" TypeError:object()不带参数"但是当它写在同一个文件中时它可以工作

我试过以下

api.py

 from flask import Flask
 from flask_restful import Resource, Api
 from flask_restful import reqparse
 from flask import Flask, jsonify, request

 app = Flask(__name__)
 api = Api(app)

 class CreateUser(Resource):
     def post(self):
         try:
             parser = reqparse.RequestParser()
             parser.add_argument('email', type=str, help='Email address to create user')
             parser.add_argument('password', type=str, help='Password to create user')
             args = parser.parse_args()

             _userEmail = args['email']
             _userPassword = args['password']

             return {'Email': args['email'], 'Password': args['password']}

         except Exception as e:
             return {'error': str(e)}

main.py

from flask import Flask
import api as apii
from flask_restful import Resource, Api

CreateUser = apii.CreateUser(Resource)

app = apii.app
api = apii.api

api.add_resource(CreateUser, '/CreateUser')

if __name__ == '__main__':
    app.run(debug=True)

这是我得到的错误

Traceback (most recent call last):
 File "main.py", line 5, in <module>
CreateUser = apii.CreateUser(Resource)
 TypeError: object() takes no parameters

1 个答案:

答案 0 :(得分:1)

你的班级CreateUser没有参数。首次创建类时,只需将其父项放在括号中。如果要创建类的实例,只需调用该类,在这种情况下,它不需要参数。以下内容适合您。

CreateUser = apii.CreateUser()

如果CreateUser类包含一个包含初始化参数def __init__(self, name)的{​​{1}}(例如) - 那么这将反映在类的实例化中,并且看起来类似于以下内容:

name