使用 Bootstrap 实现导航非常简单。鉴于前台界面的导航并不在 Flask 技术体系中,所以本文不打算对 Bootstrap 的细节进行探讨,仅演示基本要点。大家可自行参考下面的文章:
比如,一个最简单的 Flask 程序中,下面的代码就实现了一个漂亮的导航栏:
<!DOCTYPE html>
<title>Bootstrap 导航</title>
<meta charset="utf-8">
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<nav class="navbar navbar-default">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"
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">
<img style="max-width:30px;margin-top:-6px;" class="logo" src="{{ url_for('static',filename='images/logo.jpg') }}">
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active">
<a href="#">首页
<span class="sr-only">(current)</span>
<a href="#">发布问答</a>
<form class="navbar-form navbar-left">
<div class="form-group">
<input type="text" class="form-control" placeholder="Key Words">
</div>
<button type="submit" class="btn btn-default">搜索</button>
</form>
<ul class="nav navbar-nav navbar-right">
<a href="#">登录</a>
<a href="#">注册</a>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
友情链接
<span class="caret"></span>
<ul class="dropdown-menu">
<a href="mailto:[email protected]">联系我</a>
<a href="http://flask.pocoo.org" target="_blank">Flask官网</a>
<a href="https://www.python.org/">Python官网</a>
<li role="separator" class="divider"></li>
<li role="separator" class="divider"></li>
<a href="https://www.google.com.hk" target="_blank">Google Search</a>
</div>
</div>
</nav>
</body>
</html>
flask 插件 flask-nav 实现了使用 python 语言来操作 html 标签,并且实现一个简单的渲染器对这些标签进行渲染。flask-bootstrap 也支持 flask-nav, 并且实现了一个渲染器 – BootstrapRenderer。下面说说 flask-nav 的用法。
安装:pip install flask-nav
使用 flask-nav 需要 4 步:
from flask_nav import Nav
from flask_nav.elements import *
nav = Nav()
nav.register_element('top', Navbar(
View('Home.', 'index'),
Subgroup(
'Products',
View('Wg240-Series', 'products', product='wg240'),
View('Wg250-Series', 'products', product='wg250'),
Separator(),
Text('Discontinued Products'),
View('Wg10X', 'products', product='wg10x'),
Link('Tech Support', 'http://techsupport.invalid/widgits_inc'),
View('About', 'about')
nav.init_app(app)
第 4 步:在 html 文件中渲染 html tag:
{{nav.top.render()}}
我们先来看看效果, 先给出完整代码:
from flask import Flask, render_template
from flask_nav import Nav
from flask_nav.elements import *
app = Flask(__name__)
nav = Nav()
nav.register_element('top', Navbar(
View('Home', 'index'),
Subgroup(
'Products',
View('Wg240-Series', 'products', product='wg240'),
View('Wg250-Series', 'products', product='wg250'),
Separator(),
Text('Discontinued Products'),
View('Wg10X', 'products', product='wg10x'),
Link('Tech Support', 'http://techsupport.invalid/widgits_inc'),
View('About', 'about')
nav.init_app(app)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/about')
def about():
return 'This is the ABOUT page'
@app.route('/products/<product>')
def products(product):
return 'product: ' + str(product)
if __name__ == '__main__':
app.run()
index.html 文件:
<title>
Flask navigation using flask-nav
</title>
</head>
{{nav.top.render()}}
</body>
</html>
运行 Flask app的界面效果如下:
如果查看一下网页的源码,我们发现无非就是使用 html 标签 ul
和 li
进行标记的,加上了 class 属性。
<nav class="navbar">
<span>Products</span>
<ul class="subgroup">
<a href="/products/wg240" title="Wg240-Series">Wg240-Series</a>
<a href="/products/wg250" title
="Wg250-Series">Wg250-Series</a>
<hr class="separator">
<span class="nav-label">Discontinued Products</span>
<a href="/products/wg10x" title="Wg10X">Wg10X</a>
</div>
<a href="http://techsupport.invalid/widgits_inc">Tech Support</a>
<a href="/about" title="About">About</a>
</nav>
为了能理解 flask-nav 的机制,讲解一下重要的知识点。首先是 flask-nav 的 NavigationItem:
- Text: 对应 html 标签 span
- Seperator: 对应 html 标签 hr
- View: 对应到 html 超链接,需要 Flask 提供视图函数
- Link: 对应到普通的 html 超链接
- Subgroup: 用于对 Navigation item 进行分组
- Navbar: 通常作为顶层 item
这些元素都是使用 Python 的类来定义的,class diagram 如下:
在 flask-nav 提供的渲染器中,这些 item 是这样渲染成 tag 的:
class SimpleRenderer(Renderer):
def __init__(self, **kwargs):
self.kwargs = kwargs
def visit_Link(self, node):
return tags.a(node.text, href=node.get_url())
def visit_Navbar(self, node):
kwargs = {'_class': 'navbar'}
kwargs.update(self.kwargs)
cont = tags.nav(**kwargs)
ul = cont.add(tags.ul())
for item in node.items:
ul.add(tags.li(self.visit(item)))
return cont
def visit_View(self, node):
kwargs = {}
if node.active:
kwargs['_class'] = 'active'
return tags.a(node.text,
href=node.get_url(),
title=node.text,
**kwargs)
def visit_Subgroup(self, node):
group = tags.ul(_class='subgroup')
title = tags.span(node.title)
if node.active:
title.attributes['class'] = 'active'
for item in node.items:
group.add(tags.li(self.visit(item)))
return tags.div(title, group)
def visit_Separator(self, node):
return tags.hr(_class='separator')
def visit_Text(self, node):
return tags.span(node.text, _class='nav-label')
下面我们对代码稍作改变,在 app.py
中加入 flask-bootstrap 内容:
from flask_bootstrap import Bootstrap
app = Flask(__name__)
Bootstrap(app)
然后将 index.html 从 Bootstrap/base.html 继承:
{% extends 'bootstrap/base.html' %}
{% block content %}
{{nav.top.render()}}
{% endblock %}
再次运行 app,index.html 页面的效果变成了很漂亮的导航条:
flask-bootstrap 使用了自定义的 BootstrapRenderer
进行渲染。以下是 BootstrapRenderer
的主要代码:
class BootstrapRenderer(Visitor):
def __init__(self, html5=True, id=None):
self.html5 = html5
self._in_dropdown = False
self.id = id
def visit_Navbar(self, node):
node_id = self.id or sha1(str(id(node)).encode()).hexdigest()
root = tags.nav() if self.html5 else tags.div(role='navigation')
root['class'] = 'navbar navbar-default'
cont = root.add(tags.div(_class='container-fluid'))
header = cont.add(tags.div(_class='navbar-header'))
btn = header.add(tags.button())
btn['type'] = 'button'
btn['class'] = 'navbar-toggle collapsed'
btn['data-toggle'] = 'collapse'
btn['data-target'] = '#' + node_id
btn['aria-expanded'] = 'false'
btn['aria-controls'] = 'navbar'
btn.add(tags.
span('Toggle navigation', _class='sr-only'))
btn.add(tags.span(_class='icon-bar'))
btn.add(tags.span(_class='icon-bar'))
btn.add(tags.span(_class='icon-bar'))
if node.title is not None:
if hasattr(node.title, 'get_url'):
header.add(tags.a(node.title.text, _class='navbar-brand',
href=node.title.get_url()))
else:
header.add(tags.span(node.title, _class='navbar-brand'))
bar = cont.add(tags.div(
_class='navbar-collapse collapse',
id=node_id,
bar_list = bar.add(tags.ul(_class='nav navbar-nav'))
for item in node.items:
bar_list.add(self.visit(item))
return root
def visit_Text(self, node):
if not self._in_dropdown:
return tags.p(node.text, _class='navbar-text')
return tags.li(node.text, _class='dropdown-header')
def visit_Link(self, node):
item = tags.li()
item.add(tags.a(node.text, href=node.get_url()))
return item
def visit_Separator(self, node):
if not self._in_dropdown:
raise RuntimeError('Cannot render separator outside Subgroup.')
return tags.li(role='separator', _class='divider')
def visit_Subgroup(self, node):
if not self._in_dropdown:
li = tags.li(_class='dropdown')
if node.active:
li['class'] = 'active'
a = li.add(tags.a(node.title, href='#', _class='dropdown-toggle'))
a['data-toggle'] = 'dropdown'
a['role'] = 'button'
a['aria-haspopup'] = 'true'
a['aria-expanded'] = 'false'
a.add(tags.span(_class='caret'))
ul = li.add(tags.ul(_class='dropdown-menu'))
self._in_dropdown = True
for item in node.items:
ul.add(self.visit(item))
self._in_dropdown = False
return li
else:
raise RuntimeError('Cannot render nested Subgroups')
def visit_View(self, node):
item = tags.li()
item.add(tags.a(node.text, href=node.get_url(), title=node.text))
if node.active:
item['class'] = 'active'
return item
在 init_app()
中将 flask-nav 替换成 BootsrapRenderer:
renderers = app.extensions.setdefault('nav_renderers', {})
renderer_name = (__name__ + '.nav', 'BootstrapRenderer')
renderers['bootstrap'] = renderer_name
renderers[None] = renderer_name
使用 Bootstrap使用 Bootstrap 实现导航非常简单。鉴于前台界面的导航并不在 Flask 技术体系中,所以本文不打算对 Bootstrap 的细节进行探讨,仅演示基本要点。大家可自行参考下面的文章:Bootstrap 导航栏Bootstrap4 导航栏比如,一个最简单的 Flask 程序中,下面的代码就实现了一个漂亮的导航栏:&lt;!DOCTYPE html&gt;...
1. 静态部署
到 https://github.com/WebStackPage/WebStackPage.github.io 将作者写的导航代码 clone 下来。
下载到本地后,删除掉404.html、en文件夹。将cn里面的index.html替换掉根目录的index.html,删除cn文件夹。
上面的步骤是因为我不需要中英文切换,懒。完成后你的目录下应该只剩下assets文件夹和index.html文件。
打开index.html应该能看到如下图所示的初始界面。
注意这里我是在 pycharm
接下来看详细步骤,在pycharm中新建Flask项目,然后创建static文件夹,主要用来放css和img和js这些渲染网页的样式文件。创建templates文件夹,用来存放网页。
Boot...
1.jQuery.Switchable常见网页UI组件(整合Tabs、Slide、Scrollable等插件)
2.jQuery层拖拽插件之jquery仿QQ空间的模块拖动功能插件下载
3.jQuery动感图标切换网页Tab选项卡导航代码
4.jquery封装Tab标签选项卡,内含动画版选项卡及滑动门
5.jQuery实现flash动感切换选项卡TAB插件示例
6.jquery制作自动播放的TAB切换特效
7.基于jQuery简单的Tab滑动门菜单代码(jQuery MoveTab)
8.简单jquery选项卡插件下载(支持鼠标移上切换、点击切换、Ajax方式切换等)
9.漂亮Tab插件之jQuery自动切换轮播Tab选项卡示例代码
10.实用jquery+CSS实现流畅tab切换效果(Coda-Slider 1.1.1)插件
11.实用jquery标签Tab插件下载可切换不同的颜色
12.推荐jquery仿淘宝网商品排行榜展示切换效果,适合电子商务网站使用
13.一款jQuery黑金钢动感Tab选项卡代码
14.站长推荐jQuery动画翻转选项卡(flip风格)
3)表单验证
1.jquery+css美化select下拉菜单插件(Stylish Select v0.3)下载
2.jQuery+CSS实现多项选择文本框的插件下载
3.jQuery表单验证插件EasyValidator 2.0带TIP提示效果
4.jQuery导航插件下载之支持三级的Menu暖色、动画、折叠功能的导航菜单
5.jquery美化CheckBox的插件下载
6.jQuery美化表单漂亮插件jqtransform下载
7.jquery强大表单字符输入限制插件jQuery AlphaNumeric下载
8.jQuery实现表格带排序功能的源码
9.jquery实现动感隐藏登录入口代码
10.jQuery限制input或texteara字符输入限制字数控制插件下载
11.jQuery支持三级菜单的超酷华丽炫彩动感多级渐显菜单下载
12.jQuery制作登录按钮实现Ajax带状态提示
13.jvalidate无刷新表单验证插件示例下载
14.分享jquery无刷新多功能表单验证插件并漂亮美化表单及错误输入提示效果
15.简单jQuery+CSS实现验证表单红色提示效果
16.简单表单input输入框提示插件1.0下载
17.另种效果的jQuery EasyValidator表单验证插件demo示例下载
18.漂亮绿色多级动感仿flash效果的jquery网站导航菜单
19.实用jQuery列表多项选择插件
20.实用jquery实现鼠标滚轮控制改变文本框数字的插件
21.实用jquery使用ul模拟表单select列表效果
22.实用jQuery无限级导航菜单源码下载
23.适合于网站注册的jQuery用户注册条款插件下载(带特效)
24.提升用户体验jquery Ajax表单输入检测验证示例代码
25.推荐jQuery美化Select下拉单选框模拟插件V1.3.6版本下载
26.推荐jQuery美化select下拉框样式漂亮效果
27.下载jQuery网页表单美化修饰插件(jQtransForm美化表单)
28.一款jquery实现表单输入提示的Autobox插件(基于jquery.ui)
29.一款美化表单下拉列表、复选框等的jquery combobox插件实例
30.站长必备jquery实现combox自动筛选,高亮显示功能
1.jquery+CSS超炫丽横向多级滑动导航菜单
2.jQuery+CSS漂亮蓝色三级菜单下载
3.jquery+css实现简洁两级横向导航菜单,带动态效果
4.jQuery+CSS实现竖形动感导航菜单效果
5.jquery+div漂亮SmartMenu下拉菜单气泡透明效果
6.jQuery+div实现flash炫彩菜单插件下载
7.jquery+div实用漂亮精致的多级导航栏菜单插件代码示例
8.jQuery+ul实现漂亮竖直下拉菜单
9.jquery仿google首页图标动画菜单效果实现模拟鼠标动画菜单的代码
10.jquery仿卓越亚马逊网鼠标移到按钮弹出菜单的效果代码
11.jquery浮动变化的个性菜单插件floatmenu下载
12.jQuery黑色风格仿Flash版下滑菜单效果
13.jquery黑色循环滚动菜单特效插件下载
14.jquery灰色简洁风格横向三级网站导航菜单
15.jquery简洁动感支持三级的黑色导航菜单
16.jquery类似TAB一样的动感菜单下载
17.jquery绿色动感滑动下拉多级导航菜单代码下载
18.jQuery美化复选框Checkbox和radio单选框的插件hcheckbox示例
19.jQuery漂亮Flash卡通动感菜单示例
20.jQuery漂亮动感二级网站导航菜单源码下载
21.jquery漂亮苹果系统动画效果的导航菜单示例
22.jquery平滑效果黑色横向与纵向多级下拉菜单插件(支持5级)
23.jquery实现的动感菜单导航条源码
24.jquery实用滚动下拉菜单代码
25.jquery鼠标移动出现下拉菜单及提示特效代码
26.jquery外国滚动型多级展开菜单插件(jGlideMenu)下载
27.jquery自由滚动切换 标签式导航菜单示例
28.博客Blog横向jquery动态滑动菜单插件示例
29.打包50种实例的大型树形菜单控件JSTree(基于jQuery)下载
30.打包两款实用jquery+div横向滑动的下滑菜单代码(兼容性好)下载
31.非常帅jquery仿雅虎网超大菜单导航代码
32.分享jquery带阴影效果折叠菜单dropdown给大家
33.分享下载jquery+Css黑色风格版的手风琴菜单,带动感效果
34.分享一款jquery收缩展开的多级导航(附带手风琴效果示例)
35.国外漂亮动感jquery三级导航菜单插件(横向自动展开)下载
36.基于jquery美化表单效果的插件
37.兼容性好的jquery+div漂亮黑色动感下拉菜单
38.简单jquery背景滑动菜单插件示例
39.经典jQuery三级省、市、县级联菜单下载
40.漂亮jQuery+CSS橙黄色两级导航菜单示例下载
41.漂亮jQuery+CSS竖直菜单下拉展开菜单(手风琴)动画缓冲效果
42.漂亮jQuery四级滑出菜单插件带动画效果适合大多数网站
43.漂亮绿色jquery下拉菜单导航条源码下载
44.漂亮实用jquery绿色风格水平二级导航菜单
45.适合后台的jquery二级下滑菜单带展开与合拢功能
46.树形菜单jquery.popup支持文本框弹出层选择项插件
47.通用性强的jquery带箭头跟随的垂直菜单组(jquery vmenu)插件下载
48.推荐jQuery黑色多级横向菜单导航(带动画效果)
49.学习jQuery简单伸缩菜单代码实例
50.一款jquery仿flash滑动左侧菜单插件代码下载
51.一款jQuery实现伸缩型菜单源码下载
52.一款jQuery制作仿FLASH动感导航菜单效果(附PSD)
53.又一款jquery蓝色经典的三级动画网站菜单
54.又一款黑色风格jQuery支持多级的动感下拉菜单源码
55.增加用户体验之jQuery黑色下拉菜单插件下载
56.站长必备jQuery横向动感菜单代码下载
57.站长必备jQuery可展开与折叠的竖向手风琴内容展示菜单
58.支持3级的jquery天蓝色动画菜单下载,适合艺术类、儿童类网站使用
5)对话框
1.jquery仿div透明模态弹出窗插件下载
2.jquery实现多风格消息弹出框插件jGrowl下载
3.jQuery弹出层插件PopupDiv-v1.0下载(支持ajax、居中等效果)
4.jQuery超炫淡入淡出效果DIV渐变居中弹出框插件下载
5.jquery黑色+蓝色风格DIV提示框示例
6.一款jQuery+DIV居中淡入淡出信息提示框示例
7.一款jQuery可拖动提示窗插件(对话框Dialog插件)
8.一款基于jQuery实现的多功能弹出窗插件weebox及示例代码
9.一款支持拖拽的jQuery层弹出窗口(TipsWindown1.0版本)下载
10.分享一款jquery Ajax弹出对话框插件SimpleModal
11.下载jQuery对话框Dialog弹出层插件演示与使用说明
12.实用jQuery漂亮浮动层插件,精美Dialog代码
13.带关闭按钮jquery+div消息弹出层代码例子
14.推荐jQuery+CSS实现图片放大浮动层带关闭按钮
15.通用jQuery对话框dialog或popup弹出层或提示窗口插件下载
6)工具提示
1.jquery+div随屏幕滚动特效(支持设置参数滚动)
2.jQuery字符插件之适合留言板的jquery文本框输入字符限制插件下载
3.jquery实现Tooltip提示(文字、链接、地图锚点),自带5种不同样式
4.jQuery实现支付宝隐藏层提示信息内容的功能
5.jquery实现鼠标划过网址名称显示网站截图功能
6.jQuery带Tips动画提示通用表单验证插件下载(jquery validate),动画效果漂亮
7.jQuery鼠标移到下载地址滑出气泡提示效果的插件
8.又一款jquery实现链接Tip演示下载
9.常用jQuery弹出式链接提示效果Tooltip源码下载
10.相当牛的jQuery动感TipBox,鼠标移上去会动的提示框哦
11.简单实用jQuery用于登录弹出层例子代码(带动画的弹出层)
12.综合jquery实现表格隔行换色和鼠标经过提示效果源码
7)日历插件
1.jQuery简洁漂亮点阵数字时钟显示日期的插件
2.一款简单jQuery日历选择器代码
3.基于jquery实现倒计时钟插件下载,Flip-Down Clock特效效果
4.基于jquery实现多功能日历插件(weekcalendar)1.2版本下载
5.实用漂亮jQuery网页日历插件datePicker下载
6.简洁实用jquery日期选择插件之jQuery datePicker下载
8)图片展示
1.2款jQuery图片自动切换常用广告代码
2.jquery+css五屏焦点图淡入淡出+圆形按钮切换广告图片代码
3.jQuery+CSS实用图片收缩与放大效果插件
4.jquery+div实现同时滑动切换的图文展示特效插件下载
5.jquery+div带动画按钮图片手动与自动切换的特效代码
6.jquery一页多用的飞飞图片幻灯插件演示
7.jquery仿flash产品图片多角度展示特效代码
8.jquery仿flash图片放大相册的插件代码(Zoomer Gallery)下载
9.jquery仿flash的图片幻灯片播放特效实例完整版
10.jquery仿LightBox图片盒子单击逐渐放大的图片展示的插件下载
11.jquery仿Lightbox的插件jQuery UI.ariaLightbox点击图片放大显示插件下载
12.jQuery仿动感flash自动滚动图片切换广告插件
13.jQuery仿新浪新闻图片浏览器(支持鼠标左右滚动控制图片切换)
14.jquery仿苏宁易购商城产品图片全方位展示功能
15.jquery制作漂亮按钮示例打包
16.jQuery动态切换网页背景的大块图片的导航栏代码
17.jquery图文排行混合互相切换效果(仿Vancl效果)
18.jQuery图片插件之鼠标放在图片上出现动态的hover效果插件
19.jQuery图片自动轮播淡入淡出的幻灯插件iFadeSlide
20.jQuery大气banner带时间线自动播放的焦点图轮番切换代码
21.jquery定时自动切换banner广告图片动画插件示例
22.jquery实现LightBox图片点击放大效果的图片盒子插件
23.jQuery实现slider图片滚动,单个滚动,成组滚动示例
24.jQuery实现产品图片循坏旋转的代码
25.jQuery实现动态图文分组排序切换源码
26.jQuery实现图片3D旋转特效插件 v1.1版本下载
27.jQuery实现图片3D立体感的前后轮番展示特效
28.jQuery实现图片取景器仿相机拍照功能的插件photoShoot
29.jQuery实现图片变色特效插件与实例下载如jquery图片变灰色
30.jquery实现图片可拖动展示的实例下载
31.jQuery实现拖动滚动条的缩略图排列插件下载
32.jQuery实现焦点图片Flash自动平滑渐变效果
33.jQuery实现鼠标移到链接提示显示图片功能插件
34.jquery实现鼠标经过链接放大图片特效代码
35.jquery实用Banner大图片横向切换效果
36.jquery实用产品图片展示动感切换效果源码
37.jquery平滑交换真彩色的图片逐渐变为黑白图像的代码
38.jquery异步加载图片的插件jqGalScroll下载
39.jquery微型相册插件Micro Image Gallery下载
40.jQuery把图片放大及变亮特效插件下载
41.jquery拖动滚动条控制图片滚动及图片放大特效的示例
42.jquery旋转式图片切换并带图片放大功能
43.jQuery漂亮网页右上角双层撕角广告代码
44.jquery漂亮网页布局综合定时器、切换间隔、滚动时间、滚动图片个数等示例
45.jQuery演示Ajax加载并显示图片的相片画廊实例
46.jQuery版Sexy Lightbox 2.3内容修饰框插件下载(支持HTML,flash,图片,视频等)
47.jquery版自动滚动图片动画特效插件可处理图片JSON数据源
48.jQuery电子商务网站产品展示插件之仿苏宁易购商城产品图展示特效
49.jquery相册播放器插件实现无序图片列表转换成有序并播放
50.jQuery移动网页背景图浮云流水特效
51.jquery简单控制上下、左右四方向滚动的特效插件下载
52.jquery缩略图滚动特效之带小图的网页元素滚动轮播插件
53.jquery网站顶部滑动广告插件
54.jquery自动播放图片滚动漂浮式效果的示例
55.jquery贴图旋转及缩放插件下载
56.jquery门户网站首页全屏弹性伸缩至小屏的广告代码(非常实用)
57.jQuery黑色动感Ajax无刷新动态分组图片效果代码
58.jquery黑色风格左右带箭头的图片浏览控制插件下载
59.jQuery鼠标滑动图片显示标题与简介的滑动动感特效代码
60.jQuery鼠标移上小图显示大缩略图功能
61.js仿淘宝网鼠标经过缩略图放大图片效果的jQuery Fancy Hover Effect完整实例
62.Supersized jQuery全屏相册图片自动切换插件
63.[荐]jquery仿flash漂亮横向图片滚动效果完整版(兼容性非常好)
64.[荐]jQuery焦点图幻灯切换插件Tab选项卡(soChange 1.4)下载
65.一款jQuery仿flash放大图片的相册插件
66.一款jQuery仿苹果mac os系统经典菜单效果源码
67.一款jQuery动感左右滚动图片切换插件带缩图一起滚动
68.一款jQuery实现banner图片轮显、广告切换、图片幻灯插件EasySlide下载
69.一款jquery实现图片放大插件imgBox下载
70.一款jQuery实现漂亮精美相册插件源码
71.一款jQuery左右箭头控制大图滚动切换的代码
72.一款jquery常用产品图片放大效果插件下载
73.一款jQuery插件slide幻灯片切换图片宽高自适应
74.一款jQuery漂亮淡出淡入焦点大图切换源码
75.一款jquery缩略图商品切换放大展示功能插件
76.一款使用jQuery左右控制横向图片滚动的代码
77.一款基于jquery定时图片切换代码下载
78.一款实用经典jQuery图片切换展示插件下载
79.下载jQuery动感广告图片翻转插件(PictureRoll)示例版
80.下载JQuery淡入淡出效果插件InnerFade
81.下载jquery走马灯效果图片连续滚动的实例
82.几种简单实用jQuery焦点图片自动切换效果
83.分享jquery仿LightBox动感多样式图片放大插件zoomimage下载
84.分享jquery仿当当网店铺图片轮番切换(同时显示图片说明)代码下载
85.分享一款jQuery thumbnail惟美的图片Tip提示效果
86.分享一款jquery仿lightbox无刷新图片显示插件PrettyPhoto下载
87.分享多款jQuery图片预加载切换效果(上下滚动、淡入淡出渐变等)
88.动感十足jquery仿腾讯图片滚动浏览功能(带左右控制按钮)MovingBoxes插件下载
89.参考JQZOOM插件使用jQuery仿京东网产品展示切换及放大效果的代码
90.又一款jquery自动轮播焦点图+内容的广告代码
91.又一款非常不错的jQuery+div大气新闻图片切换插件代码(AnythingSlider)下载
92.基于jQuery带时间轴宽屏图片切换源码
93.基于jQuery的横向无缝图片滚动插件jcarousel
94.实用jquery焦点图源码2
95.常用jQuery新闻焦点图片切换效果插件
96.强大jQuery实现3D文字三维旋转效果代码下载
97.很帅的jquery焦点图切换源码可用于产品大图展示
98.很帅的jQuery鼠标移动预览图展示+简介内容展示特效代码
99.打包jQuery实用3个焦点图切换自动切换特效的代码
100.打包jquery拖动条拖动图片缩略图及放大图片效果插件(翻版thickbox插件)
101.打包基于jQuery对图片边框修饰插件示例下载(支持图片阴影效果、顶部banner效果、邮票边框、毛边相框、云朵包围效果)
102.推荐jquery仿Flash大banner图片切换播放特效,非常完美
103.推荐jQuery仿新浪QQ绝好图片轮播效果带左右控制插件
104.推荐jQuery兼容所有浏览器的自定义多样式图片幻灯片插件(KinSlideshow)下载
105.推荐jquery动画制作示例图片滚动和飞行乌鸦,车窗效果,非常强大
106.推荐jQuery实用缩略图广告效果插件下载
107.推荐jQuery模拟Windows视窗的效果实现相册图片拖动特效插件
108.推荐jQuery网站首页三幅banner切换大图广告自动滚动代码下载
109.推荐jQuery购物类产品图片放大插件jqzoom v2.0下载
110.推荐实用jquery图片截取代码下载
111.站长推荐jQuery产品展示专用的图片幻灯+缩略图、左右控制按钮实例下载
112.站长推荐一款非常精美的jQuery 1.4漂亮相册程序打包给大家
113.站长素材推荐jQuery带箭头控制左右图片滚动效果
114.第二款jQuery左右移动图片+内容展示插件代码
115.简单jQuery实现产品图片自动左右滚动插件下载
116.编辑推荐jQuery超帅模拟图片翻页的展示Flash特效效果
117.适合网站内容推广淡入淡出特效的jQuery焦点图结合文字导航切换特效(很精美)
118.非常不错jQuery放大镜实例包下载(可放大图片与区域放大的AnythingZoomer插件)
119.非常不错jQuery网页内容图片分类插件带特效
120.非常实用的jquery幻灯切换广告源码
121.非常帅的jQeruy图片切换拖影变清淅的神奇特效
122.非常漂亮jQuery左右切换三屏大幅焦点图广告代码下载
二、CSS + DIV
1)CSS网页模版
1.一款DIV绿色效果网页模板
2.一款浅蓝色DIV+CSS企业软件宣传全站模板
3.一款深蓝色DIV商务网页模板
4.一款潮流前线CSS网页模板
5.一款简洁漂亮棕褐色网页模板(DIV+CSS实现)
6.一款纯DIV+CSS商店模板下载
7.一款纯DIV+CSS灰色风格的网页模板
8.个性网页模板之用花装饰的DIV网站模板打包
9.公司类模板下载之专业公司DIV+CSS网页模板
10.公司类网页模板推荐大气的公司CSS模板下载
11.博客模板下载之DIV+CSS实现纸张效果博客模板
12.博客模板下载之灰色blog模板
13.商业模板下载之纯DIV+CSS制作深褐色商务网页模板
14.圣诞节日网页模板之欢乐圣诞纯DIV网站模板下载
15.圣诞节模板下载之圣诞礼物CSS网页模板
16.室内装饰类企业网页模板下载
17.工程类公司DIV网页模板源码下载
18.整套完整版纯DIV+CSS律师事务所类整站全套模板
19.深蓝色DIV公司类网页模板下载
20.深蓝色网页模板整理2
21.漂亮HTML网页模板纯DIV编写
22.漂亮模板推荐之水鸭色DIV+CSS网页模板
23.漂亮纯DIV+CSS绿色风格网页模板
24.漂亮网页模板下载之DIV+CSS木质性网站模板
25.漂亮英文DIV+CSS餐厅网站模板源码
26.简单纯DIV橙色网页模板
27.纯DIV+CSS制作的黑绿风格植物类网站模板
28.纯绿色博客类DIV网页模板
29.经典黑色DIV公司网页模板
30.绿色清新效果DIV网页模板
31.网页博客模板下载之DIV+CSS黄色博客模板
32.适合旅游类DIV+CSS网站模板源码
2)DIV+CSS实例
1.CSS导航菜单之颜色淡绿色水平导航菜单源码
2.CSS橙色一级导航菜单示例
3.CSS绿色网站导航菜单
4.css菜单系列之纯CSS灰色下拉菜单源码
5.css菜单系列之纯CSS黄色垂直左栏导航菜单
6.DIV仿支付宝导航菜单实例
7.jQuery+CSS实现蓝色垂直导航菜单带提示效果
8.jQuery实现车门滑动效果菜单源码,很帅哦
9.Jquery经典插件收集
10.使用jquery实现清新蓝色CSS二级菜单
11.兼容IEFF浏览器不规则TAB选项卡源码
12.实用网站快速导航CSS按钮菜单源码(漂亮CSS导航按钮菜单)
13.强烈推荐一款jQuery+CSS仿iPhone手机面板导航效果源码
14.推荐实用OA系统左侧DIV+CSS菜单源码(漂亮OA界面菜单源码下载)
15.推荐实用的jQuery+CSS水平二级导航菜单源码(黑蓝效果)
16.政府类网站支持二级纯CSS导航菜单源码
17.漂亮CSS小图标mini导航效果
18.漂亮滑动透明效果CSS水平导航菜单源码
19.简单实用CSS蓝色垂直导航菜单(UL、LI结合实现)
20.简单实用亮黑色纯CSS水平导航菜单
21.纯CSS+图片实现橙色网站水平菜单实例
22.纯CSS实现棕黄色水平导航菜单源码
23.纯CSS实现水平梯形CSS导航菜单(很简单)
24.纯CSS实现蓝色圆角水平网站导航菜单
25.纯CSS实现黑色水平CSS导航菜单源码
26.纯CSS菜单系列之橙色块状水平导航类CSS菜单
27.纯DIV+CSS灰色网站导航菜单 自适应长度菜单背景
28.非常漂亮2010猪八戒网站导航菜单源码
我们博客的设计是全站顶部菜单为通用菜单,调用的数据为文章的分类,那么如何将文章分类数据传递到每个页面的上下文呢?为了将新变量自动注入模板的上下文中,Flask 中存在上下文处理器context_processor。上下文处理器在呈现模板之前运行,并且能够将新值注入模板上下文。上下文处理器是返回字典的函数。然后,对于应用程序中的所有模板,此字典的键和值将与模板上下文合并:用法为如下所示,这只是一个例子:
上面的上下文处理器使一个名为 user 的变量在模板中可用,其值为 g.user。这个例子不是很有趣,
官方网址: http://docs.jinkan.org/docs/jinja2/
Jinja2 是一个现代的,设计者友好的,仿照 Django 模板的 Python 模板语言。 它速度快,被广泛使用,并且提供了可选的沙箱模板执行环境保证安全:
1). python的Web开发中, 业务逻辑(实质就是视图函数的内容)和页面逻辑(html件...
了解过flask的python开发者想必都知道flask中核心机制莫过于上下文管理,当然学习flask如果不了解其中的处理流程,可能在很多问题上不能得到解决,当然我在写本篇文章之前也看到了很多博文有关于对flask上下文管理的剖析都非常到位,当然为了学习flask我也把对flask上下文理解写下来供自己参考,也希望对其他人有所帮助。
二、知识储备
threadlocal
在多线程中,线程间的数据是共享的, 但是每个线程想要有自己的数据该怎么实现? python中的threading.local对象已经实现,其原理是利用线程的唯一标识作为key,数据作为value来保存其自己的数据,以
(一)Flask初体验——Hello World(二)Flask初体验——模板(三)Flask初体验——web 表单
如果你已经学习了前面的 Hello World 章节,那么你应该已经有了一个完全工作的简单的 web 应用程序,它的文件结构如下:
micr...
在Kotlin中实现底部导航栏可以通过以下步骤:
1. 在XML布局文件中定义底部导航栏的布局,可以使用LinearLayout或者其他布局容器来实现,一般包含多个ImageView或其他视图组件。
2. 在Kotlin代码中获取底部导航栏的布局对象,并设置相应的点击事件监听器。
3. 在点击事件监听器中,根据需要处理底部导航栏的状态变化和视图切换逻辑,比如可以使用Fragment或Activity来实现不同页面的切换。
4. 最后,将底部导航栏和页面组合起来,即可实现完整的底部导航栏功能。
具体实现细节会根据具体需求而有所不同,可以参考Kotlin官方文档或相关教程进行学习和实践。