Flask---使用Bootstrap新建第一个demo
Flask---使用Bootstrap新建第一个demo
参考自http://www.jianshu.com/p/417bcbad82fb
还有《Flask web开发》
前端用到Bootstrap开源框架,Bootstrap是客户端框架,后台当然就是Flask了。
服务器需要做的只是提供引用了Bootstrap层叠样式表(CSS)和JS文件的html响应,并且在html、css和js代码中实例化需要的组件,这些操作的最理想的执行环境就是模板
关于模板的介绍及其实现原理:https://kb.cnblogs.com/page/109638/
https://segmentfault.com/a/1190000006990480
安装Bootstrap包
pip install flask-bootstrap
创建test1.py
#coding:utf-8
from flask import Flask,render_template
#from flask.ext.bootstrap import Bootstrap #专为Flask开发发拓展都暴露在flask.ext命名空间下,Flask-Bootstrap输出一个Bootstrap类
from flask_bootstrap import Bootstrap
app=Flask(__name__)
bootstrap=Bootstrap(app)#Flask扩展一般都在创建实例时初始化,这行代码是Flask-Bootstrap的初始化方法
@app.route('/')
def index():
return render_template('index.html')
if __name__=="__main__":
app.run(debug=True)
创建templates模板文件夹在该文件夹下创建base.html
{% extends "bootstrap/base.html" %} <!-- base.html模板继承自bootstrap/base.html -->
{% block title %}Flask{% endblock %}
{% block navbar %}
<div class="navbar navbar-inverse" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-taget=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<sapn class="icon-bar"></sapn>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Flasky</a>
</div>
<div class="navbar=collapse collapse">
<ul class="nav navbar-nav">
<li>
<a href="/">Home</a>
</li>
</ul>
</div>
</div>
</div>
{% endblock %}
{% block content %}
<div class="container">
{% block page_content %}{% endblock %}
</div>
{% endblock %}
<!--title、navbar、content都是bootstrap/base.html中定义的块。navbar是显示导航栏,其中的代码比较多,作用是添加Flasky和Home两个链接-->
<!--以后的html页面直接继承base.html就可以了-->
在templates下再创建index.html
{% extends "base.html" %}
{% block title %}首页{% endblock %}
{% block page_content %}
<h2>这里是首页,welcome</h2>
{% endblock %}
运行:

项目的结构:

一个比较好的结构参考:
$ tree app
app
├── blog.py
├── build
│ ├── index.html
│ └── pages
│ ├── hello-world
│ │ └── index.html
│ └── test-flatpages
│ └── index.html
├── pages
│ ├── hello-world.md
│ └── test-flatpages.md
├── static
└── templates
├── base.html
├── index.html
└── page.html
Flask的开发web服务器支持很多的启动设置选项,但只能在脚本中作为参数传递给app.run()函数。Flask-Script扩展提供向Flask插入外部脚本的功能。包括运行一个开发用的服务器,一个定制的 Python shell,设置数据库的脚本,cronjobs,以及其他的运行在web应用之外的命令行任务。关于Flask-Script扩展包的介绍:http://blog.csdn.net/twc829/article/details/52154214还有文档的中文翻译:
https://my.oschina.net/lijsf/blog/158828
安装包:
pip install Flask-Script
或者下载最新开发版本:
git clone https://github.com/techniq/flask-script.git
cd flask-script
python setup.py develop
如果你使用virtualenv,需保证把Flask-Script和你的Flask应用安装在同一virtualenv环境下。
然后我们修改一下前面的那个py文件#coding:utf-8
from flask import Flask,render_template
#from flask.ext.bootstrap import Bootstrap #专为Flask开发发拓展都暴露在flask.ext命名空间下,Flask-Bootstrap输出一个Bootstrap类
from flask_bootstrap import Bootstrap
from flask_script import Manager
app=Flask(__name__)
#bootstrap=Bootstrap(app)#Flask扩展一般都在创建实例时初始化,这行代码是Flask-Bootstrap的初始化方法
manager=Manager(app)
@app.route('/')
def index():
return render_template('index.html')
if __name__=="__main__":
#app.run(debug=True)
manager.run()
Flask---使用Bootstrap新建第一个demo的更多相关文章
- Angular2 不明真相第一个Demo例子
如果不是去年换工作接触到AngularJS,估计是不会花时间去学习这个框架的,毕竟是前端的框架,不是自己熟悉的领域.但是为了混得下去,去年就学习了AngularJS的一些用法,当时还整理了一些积累 & ...
- 在VS中实现webService的一个demo(图解)
在VS中实现webService的一个demo(图解) 先创建一个web项目,创建好web项目后,添加新建项——web服务 在新建好的web服务文件中写如下代码: 生成当前解决方案. 新建一个winf ...
- [置顶]
一个demo学会c#
学习了c#4.5高级编程这本书,自己喜欢边学边总结边写demo,所以写了这篇文章,包含了大部分的c#编程知识.让你一个demo掌握c#编程,如果有问题可以留言. 此demo主要包括五个文件:Stude ...
- Android Studio精彩案例(六)《使用一个Demo涵盖补间动画所有知识》
转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 元旦假期里,闲的无事,看到美团加载数据的动画,就突想写个Demo把动画知识集成一下.后来想了想,还是直接用一个Demo来把所有动画知识 ...
- 文档/视图(01):第一个Demo
学习文档视图编程的第一个demo,程序比较简单,主要对文档模板,文档,视图等相互关系的一个了解. 功能:菜单添加一个[操作]项,然后新建四份空白文档,点击[操作]之后,在四份空白文档上面各绘制一个Bu ...
- 一、OPENERP 的一个demo
安装好OPENERP后,使用 ps -aux|grep openerp 从输出的内容可以得到OPENERP的安装信息, /usr/bin/python /usr/bin/openerp-server ...
- 「小程序JAVA实战」 小程序手写属于自己的第一个demo(六)
转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-06/ 自己尝试的写一个小demo,用到自定义样式,自定义底部导航,页面之间的跳转等小功能.官方文档 ...
- Android中Service的一个Demo例子
Android中Service的一个Demo例子 Service组件是Android系统重要的一部分,网上看了代码,很简单,但要想熟练使用还是需要Coding. 本文,主要贴代码,不对Servic ...
- 一个Demo让你掌握Android所有控件
原文:一个Demo让你掌握Android所有控件 本文是转载收藏,侵删,出处:"安卓巴士" 下面给出实现各个组件的源代码: 1.下拉框实现--Spinner packag ...
随机推荐
- CodeForces 479C Exams 贪心
题目: C. Exams time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- BETA阶段冲刺集合
冲刺开始: https://www.cnblogs.com/LZTZ/p/9097296.html 第一天: https://www.cnblogs.com/LZTZ/p/9097303.html 第 ...
- C#高级编程 (第六版) 学习 第二章:C#基础
第二章 基础 1,helloworld示例: helloworld.cs using System; using System.Collections.Generic; using System.Li ...
- selenium Object Page 设计模式理解及实现!
Page Object模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class,其中包含页面中需要测试的元素(按钮,输入框,标题 等),这样在Selenium测试页面中可以通 ...
- [CB] Windows10为什么质量变差 bug越来越多
在 Windows 10 发布之后,微软转向了软件即服务模式,每半年释出一个新版本,通过增加更新频率将新的特性不断推送给用户. 在以前,微软产品发布周期是两到三年,其开发流程分成多个阶段:设计和策划. ...
- phpcms 思维导图
原文地址 : https://www.cnblogs.com/fuyunbiyi/archive/2012/03/12/2391253.html
- App流量测试--使用安卓自身提供的TCP收发长度统计功能
在Linux系统有3个地方保存流量统计文件,对于Android系统同样也适用: (1)在/proc/net/dev下可以查看各个网络接口的收发流量 (等同adb shell cat /proc/pi ...
- GLSL反转矩阵inverse
低版本 vertex shader 可以使用,通常用来反转TBN矩阵,但是计算量很大. 代码来自 OpenGL Mathematics (GLM) mat4 inverse_mat4(mat4 m) ...
- BZOJ4985 评分(二分答案+树形dp)
首先二分答案简化一下问题,现在只有0和1了,要求最后剩下的是1.再简化一下考虑没有已固定的位置怎么做.考虑每个位置由其合并到的位置连边,显然这样形成了一棵三叉树.设f[i]为使得某位置为1其子树至少要 ...
- BZOJ1996 HNOI2010合唱队(区间dp)
设f[i][j][0/1]表示i~j这段区间上一次选择的是最左/最右人的方案数.转移显然. #include<iostream> #include<cstdio> #inclu ...