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检测手机QQ在线状态的脚本代码
Feb 10 Python
python学习数据结构实例代码
May 11 Python
Python中import机制详解
Nov 14 Python
NumPy.npy与pandas DataFrame的实例讲解
Jul 09 Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
Apr 01 Python
Python Pandas分组聚合的实现方法
Jul 02 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
解决Python设置函数调用超时,进程卡住的问题
Aug 08 Python
如何写python的配置文件
Jun 07 Python
基于TensorFlow的CNN实现Mnist手写数字识别
Jun 17 Python
python实现感知机模型的示例
Sep 30 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
ThinkPHP 404页面的设置方法
2015/01/14 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
JavaScript实现图片轮播的方法
2015/07/31 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
2016/02/14 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
JavaScript实现鼠标点击导航栏变色特效
2017/02/08 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
Node.js 多线程完全指南总结
2019/03/27 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
JS实现多功能计算器
2020/10/28 Javascript
[03:54]DOTA2英雄梦之声_第06期_昆卡
2014/06/23 DOTA
为python设置socket代理的方法
2015/01/14 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
python 读取修改pcap包的例子
2019/07/23 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
浅谈CSS3 动画卡顿解决方案
2019/01/02 HTML / CSS
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
护理专业毕业生自我鉴定总结
2014/03/24 职场文书
婚前保证书
2014/04/29 职场文书
员工生日活动方案
2014/08/24 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
Pandas自定义选项option设置
2021/07/25 Python
PC版《死亡搁浅导剪版》现已发售 展开全新的探险
2022/04/03 其他游戏