在我的第一个烧瓶应用程序上,此错误出现"类型错误:books() 需要 0 个位置参数,但给出了 11 个"我已经尝试了很多但无法解决这个问题


from flask import Flask, request, flash, url_for, redirect, render_template
from flask_sqlalchemy import SQLAlchemy
app=Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///database.db"
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False 
app.config['SECRET_KEY'] = "random string"
db = SQLAlchemy(app)
class books(db.Model):
bookID = db.Column(db.Integer(), primary_key=True)
title = db.Column(db.String())
authors = db.Column(db.String())
average_rating = db.Column(db.Float())
isbn = db.Column(db.Integer())
isbn13 = db.Column(db.Integer())
language_code = db.Column(db.String(length=10))
num_pages = db.Column(db.Integer())
ratings_count = db.Column(db.Integer())
text_reviews_count = db.Column(db.Integer())
publication_date = db.Column(db.Date())
publisher = db.Column(db.String())

@app.route("/")
@staticmethod
def home_page():
return render_template('home.html')
@app.route("/books")
def books():
return render_template('books.html')
@app.route("/members")
def members():
return render_template('members.html')
@app.route('/add', methods = ['GET', 'POST'])
def add():
if request.method == 'POST':
if not request.form['title'] or not request.form['authors'] or not 
request.form['average_rating']or not request.form['isbn']or not request.form['isbn13']or 
not request.form['language_code']or not request.form['num_pages']or not 
request.form['ratings_count']or not request.form['text_reviews_count']or not 
request.form['average_rating']or not request.form['publication_date']or not 
request.form['publisher']:
flash('Please enter all the fields', 'error')
else:
adds = books(request.form['title'], request.form['authors'],
request.form['average_rating'], request.form['isbn'],
request.form['isbn13'],request.form['language_code'],
request.form['num_pages'],request.form['ratings_count'],
request.form['text_reviews_count'],request.form['publication_date'],
request.form['publisher'])

db.session.add(adds)
db.session.commit()

flash('Record was successfully added')
return render_template('addbooks.html')
if __name__ == "__main__":
app.run(debug=1)

这是我的app.py文件,数据库database.db创建时没有出错,我面临的唯一问题是在数据库中插入数据尝试了很多东西,但这个错误仍然存在它到底意味着什么?我该怎么办?提前感谢

尝试在数据库中添加新条目时尝试关键字参数,而不是位置参数:

adds = books(title=request.form['title'], authors=request.form['authors'],
average_rating=request.form['average_rating'], isbn=request.form['isbn'],
isbn13=request.form['isbn13'], language_code=request.form['language_code'],
num_pages=request.form['num_pages'], ratings_count=request.form['ratings_count'],
text_reviews_count=request.form['text_reviews_count'], publication_date=request.form['publication_date'],
publisher=request.form['publisher'])

PS。在你把我的代码粘贴到你的代码之前,请仔细检查一下,因为有很多条目,我可能错过了一个!

最新更新