我想更改Flask-Admin顶级菜单中的名称显示.默认情况下,他似乎使用了calass模型名称.我喜欢将其更改为更具人性化的名称.
我在"layout.htlm"模板中看到过,有一个名为的变量{{ item.name }}.这用于显示菜单的名称.有没有办法改变其他名称或在模型定义中附加名称?
使用__tablename__不起作用,将打破内部烧瓶管理员.是否有相当于__repr__但是对于表名而不是列.
问候
有没有办法为 Flask-admin 生成的类别链接分配菜单图标?
我们可以通过设置菜单项的图标
menu_icon_type=ICON_TYPE_GLYPH, menu_icon_value='glyphicon-tags'
Run Code Online (Sandbox Code Playgroud)
但我没有看到类别链接存在任何此类命名参数。
我可以使用Flask-Admin将PDF文件作为对象或blob存储在数据库中吗?我在文档中找不到任何参考.
谢谢.干杯
我Users和Roles我的瓶的应用程序得益于瓶的安全性.
对于某些角色,我想隐藏Flask-Admin创建的表单中的某些字段.
我知道用例如自定义ModelViews.form_create_rules = ('title', 'file')但是在实例化ModelView时,无法访问当前请求,因此current_user.has_role(USER_ROLE)无法调用.
有没有其他方法来实现这一目标?
有没有办法限制ModelView列的大小(长度/宽度)?我正在使用WYSIWYG编辑器,这会创建非常长的文本,因此使得ModelView的列非常长.
这是它的样子的图片.查看最后一列的右侧.它甚至比屏幕截图所能处理的还要长.
目前,我使用以下代码在 Flask-Admin 项目的菜单栏上显示登录和注销链接:
admin.add_link(MenuLink(name='Logout', category='', url="/logout"))
admin.add_link(MenuLink(name='Login', category='', url="/login"))
Run Code Online (Sandbox Code Playgroud)
但是,无论当前用户是否登录,这都会显示两者。是否可以让它在登录时显示注销并在注销时显示?
我有这个基本的烧瓶管理员设置,包含用户和用户角色
class Role(db.Model, RoleMixin):
id = db.Column(db.Integer(), primary_key=True)
name = db.Column(db.String(80), unique=True)
description = db.Column(db.String(255))
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(255), unique=True)
password = db.Column(db.String(255))
active = db.Column(db.Boolean())
confirmed_at = db.Column(db.DateTime())
roles = db.relationship('Role', secondary="roles_users",
backref=db.backref('users', lazy='dynamic'))
class RolesUsers(db.Model):
__tablename__="roles_users"
id = db.Column(db.Integer(), primary_key=True)
user_id = db.Column(db.Integer(), db.ForeignKey('user.id', ondelete='CASCADE'))
role_id = db.Column(db.Integer(), db.ForeignKey('role.id', ondelete='CASCADE'))
Run Code Online (Sandbox Code Playgroud)
我想显示将显示特定用户具有的角色的用户视图。对于一对多的关系,我会做这样的事情
class UserView(ModelView):
column_hide_backrefs = False
class Role(db.Model, RoleMixin):
...
def __str__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
我将如何在多对多关系中做到这一点
我真的很喜欢 flask-admin 的 CRUD 功能。不幸的是,我还没有找到使 json DB 字段更具可读性的方法。
JSON 字段在列表视图(以及编辑视图)中显示为文本字符串。
任何人都可以给我任何指示从哪里开始美化列表视图(以及后来的编辑视图)?
我正在使用 flask-admin 创建管理界面。在我的管理面板中,我有 2 个表,第一个是位置,另一个是与位置有一对多关系的需求。我正在尝试在我的需求表单上过滤位置组合框,以便用户只能选择活动的组合框,但我无法管理它。是否可以?如果是的话,我该怎么做。
我试图用 form_ajax_refs 来做,但我失败了。
class Location(db.Model):
__tablename__ = 'Locations'
id = db.Column(db.Integer(), primary_key=True)
name = db.Column(db.String(80), unique=True)
active = db.Column(db.Boolean)
class Demand(db.Model):
__tablename__ = 'Demands'
id = db.Column(db.Integer(), primary_key=True)
name = db.Column(db.String(80), unique=True)
delivery_from_id = db.Column(db.Integer, db.ForeignKey('Locations.id'))
delivery_from = db.relationship(Location,
backref=db.backref('demands_from', lazy='dynamic'),
foreign_keys=[delivery_from_id],
)
class DemandView(ModelView):
form_ajax_refs = {
'delivery_from': QueryAjaxModelLoader('delivery_from', db.session, Location, fields=['name', 'active'],
filters=["active=True"]),
}
admin.add_view(ModelView(Location, db.session, 'Locations'))
admin.add_view(DemandView(Demand, db.session, 'Demands'))
Run Code Online (Sandbox Code Playgroud)