内建模板

Flask-Admin是使用jinja2模板引擎

1)扩展内建的模板

不要完全覆盖内置的模板,最好是扩展它们。 这将使您更容易升级到新的Flask-Admin版本。

在内部,Flask-Admin模板是从admin / master.html模板派生的。 三个最有趣的扩展模板可能是:

  • admin/model/list.html
  • admin/model/create.html
  • admin/model/edit.html

为了扩展默认的编辑模板功能,你可以创建一个模板templates/micrblog_edit.html 去代替它:

{% extends 'admin/model/edit.html' %}

{% block body %}

    <h1>MicroBlog Edit View</h1>

    {{ super() }}

{% endblock %}

接着,需要视图类使用这个模板,需设置属性:

class MicroBlogModelView(ModelView):
edit_template = 'microblog_edit.html'
# create_template = 'microblog_create.html'
# list_template = 'microblog_list.html'

如果您想使用自己的基本模板,则在初始化期间将模板的名称传递给管理构造函数:

admin = Admin(app, base_template='microblog_master.html')

2)重写内置的模板

要完全控制管理界面的样式和布局,可以覆盖所有内置模板。 请记住,从Flask-Admin的一个版本到下一个版本的模板会略有变化,所以一旦你开始覆盖它们,你需要小心升级你的软件包版本。

要覆盖任何内置模板,只需将它们从Flask-Admin源代码复制到项目的templates/admin /目录中即可。 只要文件名保持不变,项目目录中的模板应该自动优先于内置模板。

3)可用的模板块

Flask-Admin在admin / master.html中定义了一个基本模板,即所有其他管理模板都是从其派生的。 该模板是指向admin / base.html的代理,它定义了以下块:

模块名

描述

Head_meta

头部标签

title

标题

Head_css

头部存放样式

head

头部其他内容

Page_body

页面布局

brand

菜单的商标

Main_menu

菜单

Menu_links

菜单链接

Access_control

菜单右边的登录按钮

message

提醒的信息

body

内容区

tail

内容区下面的区域

除了从admin / master.html继承的所有块之外,admin / model / list.html模板还包含以下块:

Block Name

Description

model_menu_bar

Menu bar

model_list_table

Table container

list_header

Table header row

list_row_actions_header

Actions header

list_row

Single row

list_row_actions

Row action cell with edit/remove/etc buttons

empty_list_message

Message that will be displayed if there are no models found

查看https://github.com/flask-admin/flask-admin/tree/master/examples/layout上的布局示例,了解如何对管理界面进行全面的风格控制。

4)环境变量

在扩展admin / master.html的任何模板中工作时,您都可以访问少量的环境变量:

Variable Name

Description

admin_view

Current administrative view

admin_base_template

Base template name

_gettext

Babel gettext

_ngettext

Babel ngettext

h

Helpers from helpers module

5)产生url链接

要生成特定视图的网址,请使用带点前缀的url_for:

from flask import url_for
class MyView(BaseView):
@expose('/')
def index(self):
# Get URL for the test view method
user_list_url = url_for('user.index_view')
return self.render('index.html', user_list_url=user_list_url)

一个特定的记录也可以引用:

# Edit View for record # (redirect back to index_view)
url_for('user.edit_view', id=, url=url_for('user.index_view'))

引用ModelView实例时,在调用url_for时使用模型的小写名称作为前缀。 其他视图可以通过为每个视图指定唯一的端点并将其用作前缀来引用。 所以,你可以使用:

url_for('analytics.index')

指向以下的视图:

admin.add_view(CustomView(name='Analytics', endpoint='analytics'))

flask_admin 笔记五 内置模板设置的更多相关文章

  1. Django 内置模板标签和过滤器

    一.内置模板标签 语法:{%  %} autoescape : 是否转义,on或off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束 {% autoescape on % ...

  2. springboot-为内置tomcat设置虚拟目录

    需求 项目使用springboot开发,以jar包方式部署.项目中文件上传均保存到D判断下的upload目录下. 在浏览器中输入http://localhost:8080/upload/logo_1. ...

  3. VS2019 开发Django(九)------内置模板和过滤器

    导航:VS2019开发Django系列 紧接上篇,继续介绍Django中的模板,考虑可能篇幅过长,所以分为两部分来讲,今天的主要内容: 1)内置模板和过滤器 母版,继承关系.头部导航和页脚,是需要与其 ...

  4. Python进阶(五)----内置函数Ⅱ 和 闭包

    Python进阶(五)----内置函数Ⅱ 和 闭包 一丶内置函数Ⅱ ####内置函数#### 特别重要,反复练习 ###print() 打印输入 #sep 设定分隔符 # end 默认是换行可以打印到 ...

  5. python3之Django内置模板标签和过滤器

    一.模板标签 内置标签: 1.autoescape 控制当前的自动转义行为,此标记采用on或者off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束标签关闭. views: ...

  6. [terry笔记]python内置函数

    总结一下内置函数,Build-in Function. 一.数学运算类 abs(x) 求绝对值 complex([real[, imag]]) 创建一个复数 divmod(a, b) 分别取商和余数注 ...

  7. python笔记4 内置函数,匿名函数.递归函数 面向对象(基础, 组合,继承)

    内置函数 eval和exec eval :执行字符串中的代码并将结果返回给执行者,有返回值 exec:执行字符串中的代码,往往用于执行流程语句,没有返回值. s1 = '1+2' s2 = 'prin ...

  8. java web 学习笔记 jsp内置对象

    jsp2 表达式语言的内置对象 使用方式${object.attributename} 或者${object["attributename"]} pageContext pageS ...

  9. Django内置模板标签

    Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...

随机推荐

  1. Azure 虚拟机诊断设置问题排查

    Azure 为用户提供了可以自己配置的性能监控功能:Azure 诊断扩展.但是在具体配置中,经常会遇到各种各样的问题.不了解监控的工作机制常常给排查带来一定难度.这里我们整理了关于 Azure 虚拟机 ...

  2. guider – 全系统Linux性能分析器

    Guider是一个免费且开源的,功能强大的全系统性能分析工具,主要以Python for Linux 操作系统编写. 它旨在衡量系统资源使用量并跟踪系统行为,从而使其可以有效分析系统性能问题或进行性能 ...

  3. Zabbix 添加主机,获取模板templateID

    添加一个Host Name=Mail CAS_1.1,IP=10.16.3.4的主机,并加入组groupID=30,连接模板templateID=10132. # -*- coding: UTF-8 ...

  4. java实现安全证书相关操作

    https://blog.csdn.net/zhushanzhi/article/details/77864516 版权声明:本文为博主原创文章,未经博主允许不得转载. package test; i ...

  5. VS2010使用Release进行调试的三个必须设置选项

    How to: Debug a Release Build You can debug a release build of an application. To debug a release bu ...

  6. 【待补充】Spark 集群模式 && Spark Job 部署模式

    0. 说明 Spark 集群模式 && Spark Job 部署模式 1. Spark 集群模式 [ Local ] 使用一个 JVM 模拟 Spark 集群 [ Standalone ...

  7. windows最常用的快捷键(windows10 )

    windows最常用的快捷键(windows10 ) [单指点击] 单击/双击,相当于鼠标左键. [单指滑动] 控制光标移动. [单指拖动] 相当于按下鼠标左键移动鼠标. [双指点击] 菜单键,相当于 ...

  8. Mac上Hive环境搭建

    本文介绍在Mac上搭建Hive环境. 建议首先配置好Hadoop,搭建与配置可以参考我之前的博文Mac Hadoop的安装与配置. 当然你也可以选择使用Docker搭建环境,本文不作介绍. 安装 对于 ...

  9. CSS中如何选择ul下li的奇数、偶数行

    <style> #Ulist li:nth-of-type(odd){ margin-left: 20px;}奇数行 #Ulist li:nth-of-type(even){margin- ...

  10. Integer、String、StringBuffer、StringBuilder

    Integer Interger 是int基本数据类型的包装类,在Integer内部封装了一个final int value的属性. 构造方法: Integer类提供了两种构造方法:它们都会返回一个I ...