Tôi muốn sửa đổi is_active
trong Flask-Login để người dùng không phải lúc nào cũng hoạt động.Flask-Login tăng TypeError: đối tượng 'bool' không thể gọi khi cố gắng ghi đè thuộc tính is_active
Giá trị mặc định luôn trả về True
, nhưng tôi đã thay đổi nó để trả về giá trị của cột banned
.
Dựa trên tài liệu, is_active
phải là tài sản. Tuy nhiên, mã Flask-Login nội bộ tăng:
TypeError: 'bool' object is not callable
Khi cố gắng sử dụng is_active
.
Làm cách nào để sử dụng chính xác is_active
để hủy kích hoạt một số người dùng?
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
banned = db.Column(db.Boolean, default=False)
@property
def is_active(self):
return self.banned
login_user(user, form.remember_me.data)
if not force and not user.is_active():
TypeError: 'bool' object is not callable
@davidism, bây giờ, sau khi cập nhật, tôi có một vấn đề tốt hơn https://github.com/miguelgrinberg/flasky/issues/1#issuecomment-142647023 lol – anvd
Tôi không chắc chắn ý của bạn là gì. Nếu một ứng dụng dự kiến Flask-Login <0.3, sau đó cài đặt Flask-Login <0.3 và sử dụng nó một cách thích hợp, cho đến khi ứng dụng được cập nhật. Câu trả lời của tôi có trả lời câu hỏi ngay lập tức của bạn không? – davidism
Lỗi đó về bảo vệ phiên mạnh mẽ đã được báo cáo cho Flask-Login. Nó không liên quan đến sự thay đổi thành 'is_active'. Nhưng không có câu trả lời cho "có một lỗi trong Flask-Đăng nhập" ngoại trừ "chờ cho đến khi nó cố định". – davidism