flask框架jinja2模板与模板继承实例分析


Posted in Python onAugust 01, 2019

本文实例讲述了flask框架jinja2模板与模板继承。分享给大家供大家参考,具体如下:

jinja2模板

from werkzeug.contrib.cache import SimpleCache
from flask import Flask, request, render_template,redirect,abort, url_for
CACHE_TIME = 300
cache = SimpleCache()
cache.timeout = CACHE_TIME
app = Flask(__name__)
@app.before_request
def return_cached():
  if not request.values:
    response = cache.get(request.path)
    if response:
      print("Got the page from cache!")
      return response
  print("Will load the page!")
@app.after_request
def cache_response(response):
  print("aaaaaaaaaaaaaaaaaaaaaa")
  if not request.values:
    cache.set(request.path, response, CACHE_TIME)
  return response
@app.teardown_request
def teardown_request(response):
  print('llllllllllllllllllllllll')
  return "llllllllllllllllllllll"
# @app.route('/')
@app.route('/get_index')
def index():
  return render_template('jinja2.html', a_variable="Developer", navigation=["http://www.163.com", "www.baidu.com"])
if __name__ == '__main__':
  app.run(port=8000)

jinja2.html必须在templates文件夹下,例子如下:

<!DOCTYPE html>
<html>
<head>
  <title>jinja2_test</title>
</head>
<body>
  <ul id="navigation">
    {% for item in navigation %} #表达式
      <li href='{{ item }}'>{{ item }}</li> #输出变量
    {% endfor %}
  </ul>
  <h1>HelloWorld</h1>
  {{a_variable}}#输出变量
    {# aaaa #}#模板注释,加载自动删除
</body>
</html>

jinja2模板继承

父亲:

<!DOCTYPE html>
<html>
<head>
  <title>模板继承</title>
</head>
<body>
  <span>这是基模板</span>
  <div id="content">{% block content %}{% endblock %}</div>
</body>
</html>

{% block content %}{% endblock %}包含jinja2的字模板块;

子:

<!DOCTYPE html>
<html>
<head>
  <title>模板继承</title>
</head>
<body>
  {% extend "jinja2_模板继承.html"%}
  {% block content %}
  <p class="importtant">我在子模板</p>
</body>
</html>

{% extends "jinja2_模板继承.html"%}标签是这里的关键,告诉模板引擎这个模板继承自另外一个模板。该标签必须是子模板的第一个标签,解释器会自动将父亲的内容复制到子模板中!

结果应该是这样:

<!DOCTYPE html>
<html>
<head>
  <title>模板继承</title>
</head>
<body>
  <span>这是基模板</span>
  <div id="content">
      <p class="importtant">我在子模板</p>
    </div>
</body>
</html>

希望本文所述对大家基于flask框架的Python程序设计有所帮助。

Python 相关文章推荐
使用PYTHON接收多播数据的代码
Mar 01 Python
python判断、获取一张图片主色调的2个实例
Apr 10 Python
python里对list中的整数求平均并排序
Sep 12 Python
python使用arcpy.mapping模块批量出图
Mar 06 Python
Python中正则表达式的用法总结
Feb 22 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
Jul 11 Python
Python threading的使用方法解析
Aug 28 Python
Python3.7安装keras和TensorFlow的教程图解
Jun 18 Python
pytorch常见的Tensor类型详解
Jan 15 Python
tensorflow之自定义神经网络层实例
Feb 07 Python
15行Python代码实现免费发送手机短信推送消息功能
Feb 27 Python
Python爬取数据并实现可视化代码解析
Aug 12 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 #Python
python爬虫解决验证码的思路及示例
Aug 01 #Python
Django多数据库的实现过程详解
Aug 01 #Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 #Python
numpy.meshgrid()理解(小结)
Aug 01 #Python
Python-接口开发入门解析
Aug 01 #Python
Python列表(list)所有元素的同一操作解析
Aug 01 #Python
You might like
PHP编程与应用
2006/10/09 PHP
php限制ip地址范围的方法
2015/03/31 PHP
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
javascript拓展DOM操作 prependChild insertAfert
2010/11/17 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
JavaScript组合模式---引入案例分析
2020/05/23 Javascript
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
Saltstack快速入门简单汇总
2016/03/01 Python
Python实现新浪博客备份的方法
2016/04/27 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
把pandas转换int型为str型的方法
2019/01/29 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
HTML+CSS+JavaScript实现图片3D展览的示例代码
2020/10/12 HTML / CSS
生态学毕业生自荐信
2013/10/27 职场文书
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
关于责任的演讲稿
2014/05/20 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
扬州个园导游词
2015/02/06 职场文书
个人欠条范本
2015/07/03 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python