错误:__ init __()接受1个位置参数,但给出了7个

您好,我是一名新程序员,我最近开始使用flask创建网站。我最近开始制作带有烧瓶的迷你YouTube,但是数据库存在这个问题。当我对数据库进行新输入时,它给了我这个错误:“错误:init()接受1个位置参数,但给出了7个”

from flask import Flask, redirect, url_for, render_template, session, request
from flask_restful import Api, Resource, reqparse, abort, fields, marshal_with
from flask_sqlalchemy import SQLAlchemy
from app import *

app = Flask(__name__)

app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///database.db"
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)

class ChannelDB(db.Model):
    id = db.Column(db.Integer, nullable=True)
    name = db.Column(db.String(100), primary_key=True)
    email = db.Column(db.String(100), nullable=False)
    password = db.Column(db.String(100), nullable=False)
    subs = db.Column(db.Integer, nullable=False)
    num_of_videos = db.Column(db.Integer, nullable=False)

channel_fields = {
    "id": fields.Integer,
    "name": fields.String,
    "email": fields.String,
    "password": fields.String,
    "subs": fields.Integer,
    "num_of_videos": fields.Integer
}

@app.route("/")
@app.route("/home")
def home():
    return render_template("home.html")

@app.route("/login")
def login():
    return render_template("login.html")

@app.route("/create_acc", methods=["POST", "GET"])
def create_acc():
    if request.method == "POST":
        name = request.form["nm"]

        check = ChannelDB.query.filter_by(name=name).first()

        if not check:
            email = request.form["em"]
            psw = request.form["ps"]

            channel = ChannelDB(0, name, email, psw, 0, 0)
            db.session.add(channel)
            db.session.commit()

            return redirect(url_for("user"))
        else:
            abort(409, message="Video alredy exists")

if __name__=="__main__":
    db.create_all()
    app.run(debug=True)

这是我的.py文件中的代码

{% extends "base.html" %}

{% block title %}Login Page{% endblock %}

{% block content %}
    <form action="/create_acc", method="post">
        <p>Name: </p>
        <p><input type="text" name="nm"></p>
        <p>Email: </p>
        <p><input type="text" name="em"></p>
        <p>Password: </p>
        <p><input type="text" name="ps"></p>
        <p>Press this button when you fill the spots above</p>
        <p><input type="submit" value="submit"></p>
    </form>
{% endblock %}

这是我的login.html文件,如果有帮助的话。

谁能帮我?

鲁本·赫斯鲁特(Ruben Helsloot)

__init__需要关键字参数而不是位置参数区别在于使用字段名称为值添加前缀:

channel = ChannelDB(id=0, name=name, email=email, password=psw, subs=0, num_of_videos=0)

还有一些提示:

  • 不要使用first()来检查记录是否存在,而是使用.exists()这样可以加快查询速度,Python不必将响应解析为一个Channel对象,并且您将使用较少的带宽,因为数据库不发送记录,而只发送True或False;
  • 查看第sdefault当然,新频道的订阅者总数为0,如果您添加默认频道,则不必指定该频道。视频数量相同;
  • 通常不需要指定主键,因为数据库只为您计数1。明确指定它实际上可能会导致问题,因为大多数数据库都保留一个单独的运行计数器,然后该计数器不同步。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误:类型错误:__init__() 需要 1 个位置参数,但给出了 2 个

来自分类Dev

类型错误:__init__() 需要 4 个位置参数,但给出了 7 个

来自分类Dev

陷入类型错误:__init__() 需要 1 个位置参数,但给出了 2 个

来自分类Dev

TypeError:init_animals()接受1个位置参数,但给出了2个

来自分类Dev

TypeError:__init __()接受1个位置参数,但给出了3个

来自分类Dev

Money和TypeError:__init __()接受1到2个位置参数,但给出了3个

来自分类Dev

__init __()接受1个位置参数,但给出了8个

来自分类Dev

TypeError:init_animals()接受1个位置参数,但给出了2个

来自分类Dev

__init __()接受1到3个位置参数,但给出了4个

来自分类Dev

Money和TypeError:__init __()接受1到2个位置参数,但给出了3个

来自分类Dev

Keras层构建错误:build()接受1个位置参数,但给出了两个

来自分类Dev

错误类型:get_dataset_names()接受0个位置参数,但给出了1个

来自分类Dev

TypeError:__init __()接受1个位置参数,但给出了2个(使用Pytesseract的Python多处理)

来自分类Dev

Django客户端获取:TypeError:__init __()接受1个位置参数,但给出了2个

来自分类Dev

Python:__init __()接受2个位置参数,但给出了3个

来自分类Dev

多重继承,TypeError:__init __()接受2个位置参数,但给出了3个

来自分类Dev

意外错误:replace()接受2个位置参数,但给出了3个

来自分类Dev

/ users / login / __init __()处的TypeError带有1个位置参数,但给出了2个

来自分类Dev

无法继承正确的父类,init 需要 1 个位置参数,但给出了 2 个

来自分类Dev

TypeError at : / __init__() 需要 1 个位置参数,但给出了 2 个

来自分类Dev

python中的多处理错误“需要1个位置参数,但给出了2个”

来自分类Dev

类型错误:printArea() 采用 0 个位置参数,但给出了 1 个

来自分类Dev

“接受0个位置参数但给了1个”错误

来自分类Dev

__init __()接受2个位置参数,但是使用present_of_element_located()给出了3个试图等待元素的参数

来自分类Dev

__init __()接受3个位置参数,但运行时给出4个

来自分类Dev

这里抛出了TypeError异常:init()接受2个位置参数,但使用Selenium和Python的显式等待给出3个

来自分类Dev

python super :TypeError: __init__() 需要 2 个位置参数,但给出了 3 个

来自分类Dev

TypeError: __init__() 需要 2 个位置参数,但 Python 3 给出了 3 个?

来自分类Dev

Python - 类型错误:module.__init__() 最多接受 2 个参数(给出 3 个)

Related 相关文章

  1. 1

    错误:类型错误:__init__() 需要 1 个位置参数,但给出了 2 个

  2. 2

    类型错误:__init__() 需要 4 个位置参数,但给出了 7 个

  3. 3

    陷入类型错误:__init__() 需要 1 个位置参数,但给出了 2 个

  4. 4

    TypeError:init_animals()接受1个位置参数,但给出了2个

  5. 5

    TypeError:__init __()接受1个位置参数,但给出了3个

  6. 6

    Money和TypeError:__init __()接受1到2个位置参数,但给出了3个

  7. 7

    __init __()接受1个位置参数,但给出了8个

  8. 8

    TypeError:init_animals()接受1个位置参数,但给出了2个

  9. 9

    __init __()接受1到3个位置参数,但给出了4个

  10. 10

    Money和TypeError:__init __()接受1到2个位置参数,但给出了3个

  11. 11

    Keras层构建错误:build()接受1个位置参数,但给出了两个

  12. 12

    错误类型:get_dataset_names()接受0个位置参数,但给出了1个

  13. 13

    TypeError:__init __()接受1个位置参数,但给出了2个(使用Pytesseract的Python多处理)

  14. 14

    Django客户端获取:TypeError:__init __()接受1个位置参数,但给出了2个

  15. 15

    Python:__init __()接受2个位置参数,但给出了3个

  16. 16

    多重继承,TypeError:__init __()接受2个位置参数,但给出了3个

  17. 17

    意外错误:replace()接受2个位置参数,但给出了3个

  18. 18

    / users / login / __init __()处的TypeError带有1个位置参数,但给出了2个

  19. 19

    无法继承正确的父类,init 需要 1 个位置参数,但给出了 2 个

  20. 20

    TypeError at : / __init__() 需要 1 个位置参数,但给出了 2 个

  21. 21

    python中的多处理错误“需要1个位置参数,但给出了2个”

  22. 22

    类型错误:printArea() 采用 0 个位置参数,但给出了 1 个

  23. 23

    “接受0个位置参数但给了1个”错误

  24. 24

    __init __()接受2个位置参数,但是使用present_of_element_located()给出了3个试图等待元素的参数

  25. 25

    __init __()接受3个位置参数,但运行时给出4个

  26. 26

    这里抛出了TypeError异常:init()接受2个位置参数,但使用Selenium和Python的显式等待给出3个

  27. 27

    python super :TypeError: __init__() 需要 2 个位置参数,但给出了 3 个

  28. 28

    TypeError: __init__() 需要 2 个位置参数,但 Python 3 给出了 3 个?

  29. 29

    Python - 类型错误:module.__init__() 最多接受 2 个参数(给出 3 个)

热门标签

归档