我正在尝试在另一个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
答案 0 :(得分:1)
你的班级CreateUser
没有参数。首次创建类时,只需将其父项放在括号中。如果要创建类的实例,只需调用该类,在这种情况下,它不需要参数。以下内容适合您。
CreateUser = apii.CreateUser()
如果CreateUser
类包含一个包含初始化参数def __init__(self, name)
的{{1}}(例如) - 那么这将反映在类的实例化中,并且看起来类似于以下内容:
name