【问题标题】:TypeError: add_info() missing 1 required positional argument: 'writer' in FlaskTypeError:add_info() 缺少 1 个必需的位置参数:Flask 中的“writer”
【发布时间】:2020-04-27 12:26:35
【问题描述】:

我已经传递了 add_info 函数中需要的所有变量。但它仍然显示此错误。 (类型错误:add_info() 缺少 1 个必需的位置参数:'writer')。无法弄清楚这里的问题。我已经包含了所有需要的三个文件。

这是我的表格文件

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

class Type(db.Model):
    __tablename__ = "types"
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.String, nullable = False)

    def add_info(self,name,genre,director,lead_actor,lead_actress,writer):
        m = Movie(name = name, director = director, lead_actor = lead_actor, lead_actress= lead_actress, writer = writer, mov_id= self.id)
        db.session.add(m)
        db.session.commit()

        d = Director(name = director, dir_id = self.id)
        db.session.add(d)
        db.session.commit()

        w = Writer(name = writer, wri_id = self.id)
        db.session.add(w)
        db.session.commit()

这是我在烧瓶应用程序中的功能:

@app.route('/success', methods= ["POST"])
def success():
    name = request.form.get("name")
    genre = int(request.form.get("value"))
    director = request.form.get("director")
    actor = request.form.get("lead_actor")
    actress = request.form.get("lead_actress")
    writer = request.form.get("writer")
    
    type = Type.add_info(name,genre,director,actor,actress,writer)

    return render_template("addedinfo.html", message = "success")


if __name__ == "__main__":
    with app.app_context():
        app.run(debug=True)

【问题讨论】:

    标签: python flask-sqlalchemy


    【解决方案1】:

    在您的函数中,此处的名称为 self. 尝试像这样编写函数调用

    type = Type().add_info(name,genre,director,actor,actress,writer)
    

    【讨论】:

    • 兄弟我也是这样写的..创建了对象。
    • 我编辑了答案。 Type 后的括号应该可以解决您的问题@Mahbub
    • 非常感谢兄弟。还有其他一些错误。我已经解决了这些问题,现在可以使用了。
    猜你喜欢
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    相关资源
    最近更新 更多