Flask-Admin:如何将数据库视图添加到其他站点

斯文·滕切尔

问题:如何将flask-admin视图(仅包括可编辑/删除条目的表)添加到flask-admin和管理路径之外的页面?

我在

@app.route("/daten")
@login_required
def ansicht():
     d = current_user.u_daten.order_by('date').all()
     return render_template('ansicht.html',title='Ansicht der Daten', data = d)

呈现此模板。

{% extends "base.html" %}
{% block app_content %}
<h1>Ansicht der Daten</h1>
<table id="table_id" class="table-condensed table-striped table-hover table-responsive table-bordered">
<thead>
  <th> Datum </th>
  <th> Gewicht in Kg</th>
  <th> Körperfett in Prozent</th>
</thead>
<tbody>
  {% for element in data %}
  <tr>
    <td> {{ moment(element.date).format('L') }} </td>
    <td align = "right"> {{ element.bw|float}} </td>
    {% set bf = element.bf|float * 100 %}
    <td align = "right"> {{'%0.1f' % bf }}</td>
  </tr>      
  {% endfor %}
</tbody>
</table>
{% endblock %}

这按预期工作,但

  • 我想将此表与flask admin视图交换,以包括编辑和删除功能。
  • 我想使用base.html中的导航栏,而不是flask-admin中的menue / navbar

我建立了此视图,以仅过滤当前用户的数据,以便已登录的用户可以编辑自己的数据。

class UserDaten(ModelView):

    can_create = False

    column_exclude_list = ('user_id')
    column_default_sort = ('date', True)
    column_labels = dict(date=u'Datum', bw=u'Körpergewicht in kg', bf=u'Körperfett in Prozent')
    column_formatters = dict(bf=lambda v,c,m,p: m.bf*100, date=lambda v,c,m,p: m.date.strftime('%d.%m.%Y'))

    form_args = dict(date=dict(label= u'Datum der Messung'  , format='%d.%m.%Y',validators=[DataRequired()]))
    form_excluded_columns = ('user_id')
    form_choices = {'bf': [('0.232','23.2 %'),
                        ('0.218','21.8 %'),
                        ('0.202','20.2 %'),
                        ('0.186','18.6 %'),
                        ('0.168','16.8 %'),
                        ('0.148','14.8 %'),
                        ('0.127','12.7 %'),
                        ('0.105','10.5 %'),
                        ('0.081','8.1 %')]}

    def get_query(self):
        return self.session.query(self.model).filter(self.model.user_id == current_user.id)
    def get_count_query(self):
        return self.session.query(func.count('*')).filter(self.model.user_id == current_user.id)

admin.add_view(UserDaten(Daten, db.session))

admin.add_view(UserDaten(Daten, db.session))

我将此视图添加到

/admin/daten

基于我的__init__.py与行

admin = Admin(app)
  • 我现在想做的是禁用路由/ admin和
  • 在路线/ daten中包括flask-admin视图

我可能不得不更改模板以包括适当的jinja标签,并将render函数添加到类中,但是我似乎无法使其正常工作。

TL; DR如何使用flask-admin中的“ nice”表视图以及另一个烧瓶渲染页面中的编辑/删除函数?

雄蕊

要结合你的HTML风格功能提供由烧瓶管理员,您可以自定义的list.htmledit.html和瓶-管理的其他模板文件,以满足您的风格需求。使用get_query自定义的数据表中显示。

要删除admin模型视图URL一部分,可以url在创建Flask-Admin(admin = Admin(app, "Admin", url='/')实例时设置参数endpoint并将模型视图添加到admin(admin.add_view(UserDaten(User, db.session, endpoint='daten'))并设置参数

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将flask-RBAC模型添加到现有SQLAlchemy数据库

如何将图像添加到flask网站?用数据库名还是文件名?Python

如何将flask-login添加到flask-admin

Python Flask-将POST数据添加到sqlite数据库

Flask表单:如何在一次提交中使用多种表单将父项和子项实体添加到数据库?

在 Flask 和 Bootstrap 中发布请求不将数据添加到数据库中

Postgres数据库视图上的Flask Admin

表单值未添加到Flask中的数据库中

如何使用Flask-Admin将内容添加到索引页面

如何将时间列添加到 Vertica 中的时间戳列?(或其他数据库)

Flask-migrate:如何管理其他已安装模块的数据库

如何将Google Places自动完成功能添加到flask?

我将如何转换这个 JSON 以便我可以使用 Flask-SQLAlchemy 将它添加到 MySQL 数据库?

flask-migrate:如何添加新数据库

如何将 id 从 Flask 应用程序传递到 mysql 数据库

如何将png文件保存到数据库FLASK中?

将Flask与旧版数据库集成

将其他对象/数据传递到Flask Admin模型视图编辑模板

Flask 数据库过滤

将Flask-admin添加到项目时仪表板错误

将表创建任务添加到Flask-Admin模型创建中

如何将其他 Active Directory 登录名添加到 Azure 数据库?

如何注册蓝图并将该应用程序添加到flask-admin

Heroku:如何将静态站点生成与Python / Flask集成

将联系页面添加到 Flask 管理员

将Tensorboard服务器添加到Flask端点

Flask - 将参数添加到路由中断图像

将事件添加到 javascript 中的按钮(使用 Flask)

使用Python,flask和SQLAlchemy如何将数据库查询的结果打印在HTML页面上?