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合并两个字典的常用方法与效率比较
Jun 17 Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 Python
python中获得当前目录和上级目录的实现方法
Oct 12 Python
Python通过future处理并发问题
Oct 17 Python
Python+numpy实现矩阵的行列扩展方式
Nov 29 Python
Python 限定函数参数的类型及默认值方式
Dec 24 Python
pytorch自定义二值化网络层方式
Jan 07 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 Python
python 绘制正态曲线的示例
Sep 24 Python
Python常用扩展插件使用教程解析
Nov 02 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
Dec 08 Python
python 实现图片批量压缩的示例
Dec 18 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 实现的将图片转换为TXT
2015/10/21 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
JS 强制设为首页的代码
2009/01/31 Javascript
JS 判断代码全收集
2009/04/28 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
2013/09/18 Javascript
JavaScript数值数组排序示例分享
2014/05/27 Javascript
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
使用 js+正则表达式为关键词添加链接
2014/11/11 Javascript
jQuery元素的隐藏与显示实例
2015/01/20 Javascript
详解JavaScript函数对象
2015/11/15 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
Mongoose中document与object的区别示例详解
2017/09/18 Javascript
Python获取服务器信息的最简单实现方法
2015/03/05 Python
python中os模块详解
2016/10/14 Python
python 执行shell命令并将结果保存的实例
2018/05/11 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
资深财务管理人员自我评价
2013/09/22 职场文书
人事主管岗位职责范本
2013/12/04 职场文书
高三体育教学反思
2014/01/29 职场文书
演讲比赛获奖感言
2014/02/02 职场文书
施工材料员岗位职责
2014/02/12 职场文书
古汉语文学求职信范文
2014/03/16 职场文书
晚会闭幕词
2015/01/28 职场文书
授权委托书
2015/01/28 职场文书
九年级数学教学反思
2016/02/17 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python
Pandas 稀疏数据结构的实现
2021/07/25 Python