标签: flask-admin

Flask-Admin:自定义管理界面的表名

我想更改Flask-Admin顶级菜单中的名称显示.默认情况下,他似乎使用了calass模型名称.我喜欢将其更改为更具人性化的名称.

我在"layout.htlm"模板中看到过,有一个名为的变量{{ item.name }}.这用于显示菜单的名称.有没有办法改变其他名称或在模型定义中附加名称?

使用__tablename__不起作用,将打破内部烧瓶管理员.是否有相当于__repr__但是对于表名而不是列.

问候

python flask flask-admin

1
推荐指数
1
解决办法
1565
查看次数

有没有办法为 Flask-admin 生成的类别链接分配菜单图标?

有没有办法为 Flask-admin 生成的类别链接分配菜单图标?

我们可以通过设置菜单项的图标

menu_icon_type=ICON_TYPE_GLYPH, menu_icon_value='glyphicon-tags'
Run Code Online (Sandbox Code Playgroud)

但我没有看到类别链接存在任何此类命名参数。

flask flask-admin

1
推荐指数
1
解决办法
1820
查看次数

使用Flask-admin在PDF中存储PDF文件

我可以使用Flask-Admin将PDF文件作为对象或blob存储在数据库中吗?我在文档中找不到任何参考.

谢谢.干杯

python object mongodb flask-sqlalchemy flask-admin

1
推荐指数
1
解决办法
1887
查看次数

显示外键字段时如何告诉flask-admin使用替代表示形式?

如何在我的RoleUser链接表中告诉flask-admin对外键字段使用替代表示形式,例如以下内容?

烧瓶管理员

python flask flask-admin

1
推荐指数
1
解决办法
410
查看次数

根据登录用户隐藏Flask-Admin中的字段?

UsersRoles我的瓶的应用程序得益于瓶的安全性.

对于某些角色,我想隐藏Flask-Admin创建的表单中的某些字段.

我知道用例如自定义ModelViews.form_create_rules = ('title', 'file')但是在实例化ModelView时,无法访问当前请求,因此current_user.has_role(USER_ROLE)无法调用.

有没有其他方法来实现这一目标?

python flask flask-security flask-admin

1
推荐指数
1
解决办法
1345
查看次数

减少Flask-Admin中列的大小

有没有办法限制ModelView列的大小(长度/宽度)?我正在使用WYSIWYG编辑器,这会创建非常长的文本,因此使得ModelView的列非常长.

这是它的样子的图片.查看最后一列的右侧.它甚至比屏幕截图所能处理的还要长.

在此输入图像描述

python flask flask-sqlalchemy twitter-bootstrap flask-admin

1
推荐指数
1
解决办法
1230
查看次数

菜单栏中的 Flask-Security 登录和注销

目前,我使用以下代码在 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)

但是,无论当前用户是否登录,这都会显示两者。是否可以让它在登录时显示注销并在注销时显示?

python flask flask-admin

1
推荐指数
1
解决办法
1951
查看次数

具有多对多关系模型的 Flask-Admin 视图

我有这个基本的烧瓶管理员设置,包含用户和用户角色

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)

我将如何在多对多关系中做到这一点

python flask flask-admin

1
推荐指数
1
解决办法
3093
查看次数

flask-admin:美化 json 字段

我真的很喜欢 flask-admin 的 CRUD 功能。不幸的是,我还没有找到使 json DB 字段更具可读性的方法。

JSON 字段在列表视图(以及编辑视图)中显示为文本字符串。

任何人都可以给我任何指示从哪里开始美化列表视图(以及后来的编辑视图)?

flask flask-admin

1
推荐指数
1
解决办法
1156
查看次数

使用一对多关系过滤flask-admin中的列值

我正在使用 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)

flask flask-sqlalchemy flask-admin

1
推荐指数
1
解决办法
889
查看次数