我无法找出导致此错误的原因
TypeError: __init__() takes at most 2 arguments (3 given)
Run Code Online (Sandbox Code Playgroud)
这是指向
@user_blueprint.route('/login', methods=['GET', 'POST'])
def login():
if g.user.is_authenticated:
flash("You are already Logged in", 'warning')
return redirect(url_for('members'))
error = ""
form = LoginForm()
if request.method == 'POST':
if form.validate_on_submit():
user = User.query.filter_by(username=form.username.data).first()
if user is not None and bcrypt.check_password_hash(user.password, form.password.data):
login_user(user, remember=form.remember.data)
flash('You are sucessfuly Logged in', 'success')
return redirect(url_for('members'))
else:
error = "You have entered an incorrect username and password"
return render_template("front/login.html", forms=form, error=error)
Run Code Online (Sandbox Code Playgroud)
该LoginForm如下所示:
class LoginForm(Form):
username …Run Code Online (Sandbox Code Playgroud) 使用属性和混合变压器对遍历以下树有一点帮助;
class Category(db.Model):
__tablename__ = 'category'
id = db.Column(db.Integer, primary_key=True)
parent = db.Column(db.Integer, db.ForeignKey('category.id'), nullable=True)
name = db.Column(db.String(400), index=True, unique=True)
children = db.relationship("Category", cascade='all, delete-orphan', backref=db.backref("child", remote_side=[id]))
parents = db.relationship("Category", cascade='all', backref=db.backref("back", remote_side=[id]))
entries = db.relationship("Feeds", backref='entry', lazy='dynamic')
class Feeds(db.Model):
__tablename__ = 'feeds'
id = db.Column(db.Integer, primary_key=True)
category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
name = (db.String(400), index=True, unique=True)
@property
def parents(self):
allparents=[]
p = self.children
while p:
allparents.append(p)
p = p.children
return allparents
Run Code Online (Sandbox Code Playgroud)
我有一个简单的对象
catlist = db.session.query(Category).filter_by(id=1).all()
Run Code Online (Sandbox Code Playgroud)
如何遍历所有树以获得具有可变树深度的子级,即祖先 -> 父级 -> 子级 …