Bootstrap使用-1
结构:
$ tree -I "__pycache*|*.pyc|*.xlsx" -FCL 3
.
|-- templates/
|   `-- h1.html
`-- test-boostracp.py
1. 视图函数
test-boostracp.py
from flask import Flask, render_template
from flask_bootstrap import Bootstrap
app = Flask(__name__)
bootstrap = Bootstrap(app)
@app.route('/')
def index():
    return render_template('h1.html')
if __name__ == '__main__':
    app.run()
2. 模板
h1.html
{% extends 'bootstrap/base.html' %}
{% block title %}博客中心{% endblock %}
{# 导航条 #}
{% block navbar %}
    <nav class="navbar navbar-inverse" style="border-radius: 0px;">
        <div class="container">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                        data-target=".navbar-collapse" aria-expanded="false">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="#">首页</a>
            </div>
            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse">
                <ul class="nav navbar-nav">
                    <li><a href="#">板块一</a></li>
                    <li><a href="#">板块二</a></li>
                </ul>
                <ul class="nav navbar-nav navbar-right">
                    <li><a href="#">登录</a></li>
                    <li><a href="#">注册</a></li>
                </ul>
            </div><!-- /.navbar-collapse -->
        </div><!-- /.container -->
    </nav>
{% endblock %}
{% block content %}
    <div class="container">
        {% block page_content %}{% endblock %}
    </div>
{% endblock %}
3. 登陆
命令:
python test-boostracp.py
浏览器:

4. 怎样发生的
添加模板
{# 继承自bootstrap的基础模板 #}
{% extends 'bootstrap/base.html' %}
{% block title %}用户登录{% endblock %}
{% block content %}
    <div class="container">欢迎您的到来</div>
{% endblock %}
基础模板提供的block
| block | 说明 | 
|---|---|
| doc | 整个HTML文档 | 
| html | html标签 | 
| head | head标签 | 
| title | title标签 | 
| styles | 引入层叠样式表 | 
| metas | 一组meta标签 | 
| body | body标签 | 
| navbar | 用户定义的导航条 | 
| content | 用户定义的内容 | 
| scripts | 用户定义的JS声明 | 
在使用时,若重写了某个block,原来的显示就消失了,八成是因为没有调用super
定制基础模板
定制一个基础模板base.html继承自bootstrap,其他模板继承base.html
一般步骤:
- 从bootcss.com粘贴一个导航条模板内容
- 将container-fluid改为container
- 删除不需要的内容(form),改为自己想要的效果
- 改为反色导航条navbar-default => navbar-inverse
- 将圆角改为直角:style="border-radius: 0px;"
- 修改折叠标签的选择方式:data-target=".navbar-collapse"
Bootstrap使用-1的更多相关文章
- 旺财速啃H5框架之Bootstrap(五)
		在上一篇<<旺财速啃H5框架之Bootstrap(四)>>做了基本的框架,<<旺财速啃H5框架之Bootstrap(二)>>篇里也大体认识了bootst ... 
- 旺财速啃H5框架之Bootstrap(四)
		上一篇<<旺财速啃H5框架之Bootstrap(三)>>已经把导航做了,接下来搭建内容框架.... 对于不规整的网页,要做成自适应就有点玩大了.... 例如下面这种版式的页面. ... 
- bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序
		也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序 ... 
- 参考bootstrap中的popover.js的css画消息弹框
		前段时间小颖的大学同学给小颖发了一张截图,图片类似下面这张图: 小颖当时大概的给她说了下,其实小颖也不知道上面那个三角形怎么画嘻嘻,给她说了DOM结构,具体的css让她自己百度,今天小颖自己参考boo ... 
- Bootstrap 模态框(Modal)插件
		页面效果: html+js: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ... 
- 利用bootstrap的carousel.js实现轮播图动画
		前期准备: 1.jquery.js. 2.bootstrap的carousel.js. 3.bootstrap.css. 如果大家不知道在哪下载,可以联系小颖,小颖把这些js和css可以发送给你. 一 ... 
- 旺财速啃H5框架之Bootstrap(三)
		好多天没有写了,继续走起 在上一篇<<旺财速啃H5框架之Bootstrap(二)>>中已经把CSS引入到页面中,接下来开始写页面. 首先有些问题要先处理了,问什么你要学boot ... 
- 旺财速啃H5框架之Bootstrap(二)
		突然感觉不知道写啥子,脑子里面没水了,可能是因为今晚要出去浪,哈哈~~~提前提醒大家平安夜要回家哦,圣诞节生00000000000这么多蛋....继续 上一篇的已经把bootstrap了解个大概了,接 ... 
- 旺财速啃H5框架之Bootstrap(一)
		接下来的时间里,我将和大家一起对当前非常流行的前端框架Bootstrap进行速度的学习,以案例的形式.对刚开始想学习Bootstrap的同学而找不着边的就很有帮助了.如果你想详细的学习Bootstra ... 
- [BootStrap] 富编辑器,基于wysihtml5
		在我的周围,已经有很多人在使用BootStrap,但对于任何一个带留言.评论.提问.文章编辑功的网站,编辑器永远是重中之重,显然,早期的编辑器完全没考虑过BootStrap的出现,或皮肤跟网站不匹配, ... 
随机推荐
- mybatis常见错误
			1.传入单个参数为list时 List<Objects> query(@param("list") List<String> list) <selec ... 
- 父页面内获取获取iframe内的变量或者是获取iframe内的值
			前提:页面不可跨域访问,必须同一域名下,否则返回值为空 父页面 <!DOCTYPE html> <html lang="en"> <head> ... 
- centos7的内核区别
			最近重新搭建环境准备测试一些东西,在网上随意下载了一个镜像,名字叫做:CentOS-7-i386-Everything-1810 下载完之后开始做实验安装软件的时候发现一直报错:[Errno 14] ... 
- jQuery的一些简单基础知识
			### 什么是jQuery?jQuery(js+Query)是一款优秀的JavaScript库,帮助开发人员用最少的代码做更多的事情,官网网站http://jquery.com/ ### 为什么学习j ... 
- Nonlinear Component Analysis as a Kernel Eigenvalue Problem
			目录 引 kernel PCA kernel 的选择 性质 一些问题 代码 Scholkopf B, Smola A J, Muller K, et al. Nonlinear component a ... 
- jdbc连接字符串
			MySQL:String Driver="com.mysql.jdbc.Driver"; //驱动程序String URL="jdbc:mysql://localhost ... 
- nodejs部署方式-pm2
			目前Nodejs开发中有很多痛点,其中有一个是修改完代码以后需要我们重启服务才能看到效果.这样一次次的杀进程.重启,杀进程.重启很让人头大.程序员是最痛恨重复工作的物种,之前有了解过的同学可能知道 f ... 
- 软工+C(4): Alpha/Beta换人
			// 上一篇:超链接 // 下一篇:工具和结构化 注:在一次软件工程讨论课程进度设计的过程中,出现了这个关于 Alpha/Beta换人机制的讨论,这个机制在不同学校有不同的实施,本篇积累各方观点,持续 ... 
- Win7系统用户文件夹多出一个Administrator.xxx开头的文件怎么解决
			一般情况下,Win7操作系统都会有一个Administrator用户文件夹,但最近有用户发现自己win7系统电脑中用户文件夹有两个Administrator文件夹,另一个是以Administrator ... 
- H5键盘事件处理
			if (/Android/gi.test(navigator.userAgent)) { const innerHeight = window.innerHeight; window.addEvent ... 
