有没有办法在 Flask-admin 中编辑详细信息视图模型?我搜索了非常糟糕的文档,但找不到一种能够以自定义方式显示模型详细信息的方法!
假设这就是我修改详细信息视图的方式,是否有关于如何使用“details_view”的参考?
如果没有,谁能向我解释一下如何修改该列表中信息的显示方式?我有一个“标签列表”列,我想根据某些条件单独显示标签,我想在显示它们之前应用一些过滤器。我该怎么做呢?
有谁知道在 Flask-Admin 中指定输入字段大小的简单方法?
例如class="input-xlarge",在输入字段上设置可以解决问题,但是 Flask-Admin 有没有一种简单的方法可以做到这一点?
我有一个EmployeeForm领域包括PhotoForm如下所示:
class EmployeeForm(Form):
name = StringField('Full Name', validators=[DataRequired()])
title = StringField('Job Title', validators=[DataRequired()])
email = StringField('Company Email', validators=[DataRequired()])
department = StringField('Department', validators=[DataRequired()])
photo = FormField(PhotoForm)
Run Code Online (Sandbox Code Playgroud)
取决于USE_S3配置变量是否设置为True或False我希望我的照片对象上的两个字段自动设置为默认值,如下所示:
class PhotoForm(Form):
image = S3ImageUploadField(base_path=app.config['UPLOAD_FOLDER'],namegen=photo_name_generator)
if app.config['USE_S3']:
image_storage_type = HiddenField('s3')
image_storage_bucket_name = HiddenField(app.config['S3_BUCKET_NAME'])
else:
image_storage_type = HiddenField('empty string')
image_storage_bucket_name = HiddenField('empty string')
Run Code Online (Sandbox Code Playgroud)
但是,当我检查表单的html时,没有隐藏的字段,也没有当我在提交时检查数据库是否有任何设置值image_storage_type,image_bucket_name并且我无法弄清楚为什么会这样.我已经检查了一些stackoverflow问题,但它们并不完全符合我的问题,因为我正在使用Flask-Admin和WTForm在一起,在我看来,它使它更棘手.
此外,我admin.py的表单呈现文件如下所示:
class EmployeeView(ModelView):
form = EmployeeForm
Run Code Online (Sandbox Code Playgroud)
我不确定这是WTForm方面或Flask-Admin方面的问题,但我已经尝试了很长时间才能完成这项工作.有没有人有任何想法?非常感谢帮助.
例外是AttributeError: 'StringField' object has no attribute 'wrap_formdata',它似乎只发生在我从 Flask-Admin 仪表板创建或编辑以下两个模型中的任何一个时:
class Experiment(db.Model):
id = db.Column(db.Integer, primary_key=True)
property_id = db.Column(db.Integer,
db.ForeignKey('property.id'),
index=True,
nullable=False)
name = db.Column(db.String, nullable=False)
start_date = db.Column(db.DateTime, nullable=True)
end_date = db.Column(db.DateTime, nullable=True)
status = db.Column(db.String, nullable=False, default='Draft')
title = db.Column(db.String)
meta = db.Column(db.String)
seed_uri = db.Column(db.String)
targets = db.Column(postgresql.JSON)
variations_json = db.Column(postgresql.JSON)
variations = db.relationship('ExperimentVariation',
backref='experiment',
cascade='save-update, merge, delete')
def __repr__(self):
repr_fmt = '<Experiment {id}, {property_id} {name}>'
return repr_fmt.format(id=self.id,
property_id=self.property_id,
name=self.name)
class ExperimentVariation(db.Model):
id = db.Column(db.Integer, primary_key=True) …Run Code Online (Sandbox Code Playgroud) sqlalchemy wtforms flask-sqlalchemy flask-wtforms flask-admin
我的 Flask-admin 应用程序中有三个相关的 SQLAlchemy 模型(简化):
class Client(db.Model, BasicMixin, ActiveMixin, TimestampMixin):
id = db.Column(UUIDType, primary_key=True, default=uuid.uuid4)
title = db.Column(db.String(1000))
issues = db.relationship('Issue', backref='client', cascade='all, delete-orphan')
class Issue(db.Model, BasicMixin, ActiveMixin, TimestampMixin):
id = db.Column(UUIDType, primary_key=True, default=uuid.uuid4)
date = db.Column(db.Date, default=datetime.date.today())
client_id = db.Column(UUIDType, db.ForeignKey('clients.id'), nullable=False)
articles = db.relationship('Article', backref='issue', cascade='all, delete-orphan')
class Article(db.Model, BasicMixin, TimestampMixin):
id = db.Column(UUIDType, primary_key=True, default=uuid.uuid4)
title = db.Column(db.String())
body = db.Column(db.String())
issue_id = db.Column(UUIDType, db.ForeignKey('issues.id'), nullable=False)
Run Code Online (Sandbox Code Playgroud)
客户有很多Issue,每个Issue有很多文章。
我还有一个文章的模型视图,其中我应该能够按客户过滤文章列表(按名称选择客户并仅显示属于该客户的文章)。我应该怎么做才能在flask-admin 中创建这样的过滤器?
我使用Flask并使用Flask-admin来管理学费支付应用程序。
Flask-Admin通过我在models.py中声明的SQLAlchemy自动生成了表行
这是我的桌子的图像:
现在,我想在每个总账单号旁边添加一个按钮,以结账。
我知道如何与添加列column_list中,通过提供方法模型视图,因为我尝试像下面这段代码:
column_list = ('student_id', 'total_bill', 'Pay Now')
Run Code Online (Sandbox Code Playgroud)
它将使视图显示如下:
现在,我想要“立即付款”列中的每个行都有一个按钮,就像我用HTML手动编写这样的代码一样:
每行都有一个结帐按钮,正如我上面提到的,此目的是为了结帐按钮。
所以,该怎么做..?,任何帮助将不胜感激