jinja模板简介与概述
模板是一个web
开发必备的模块。因为我们在渲染一个网页的时候,并不是只渲染一个纯文本字符串,而是需要渲染一个有富文本标签的页面。这时候我们就需要使用模板了。在Flask
中,配套的模板是Jinja2
,Jinja2
的作者也是Flask
的作者。这个模板非常的强大,并且执行效率高。
一、Flask渲染Jinja
模板:
from flask import Flask,render_template
app = Flask(__name__)@app.route('/about/')
def about():return render_template('about.html')
当访问/about/
的时候,about()
函数会在当前目录下的templates
文件夹下寻找about.html
模板文件。如果想更改模板文件地址,应该在创建app
的时候,给Flask
传递一个关键字参数template_folder
,指定具体的路径
from flask import Flask,render_template
app = Flask(__name__,template_folder=r'C:\templates')@app.route('/about/')
def about():return render_template('about.html')
from flask import Flask,render_template
app = Flask(__name__)@app.route('/about/')
def about():# return render_template('about.html',user='zhiliao')return render_template('about.html',**{'user':'zhiliao'})
<html lang="en"><head><title>My Webpage</title></head><body><ul id="navigation">{% for item in navigation %}<li><a href="{{ item.href }}">{{ item.caption }}</a></li>{% endfor %}</ul>{{ a_variable }}{{ user.name }}{{ user['name'] }}{# a comment #}</body>
</html>
二、属性访问规则:
比如在模板中有一个变量这样使用:
foo.bar
,那么在Jinja2
中是这样进行访问的:- 先去查找
foo
的bar
这个属性,也即通过getattr(foo,'bar')
。 - 如果没有,就去通过
foo.__getitem__('bar')
的方式进行查找。 - 如果以上两种方式都没有找到,返回一个
undefined
。
- 先去查找
在模板中有一个变量这样使用:
foo['bar']
,那么在Jinja2
中是这样进行访问:- 通过
foo.__getitem__('bar')
的方式进行查找。 - 如果没有,就通过
getattr(foo,'bar')
的方式进行查找。 - 如果以上没有找到,则返回一个
undefined
。
- 通过
jinja模板简介与概述相关推荐
- Linux之Saltstack中grains、pillar取值和jinja模板的应用
一.grains和pillar介绍 1. Grains简介 Grains是SaltStack的一个组件,存放在SaltStack的minion端.当salt-minion启动时会把收集到的数据静态存放 ...
- Flask学习之旅——2.1 模板简介及基础使用
Flask学习之旅--2.1 模板简介及基础使用 前言 本文为<知了传课--模板简介>的学习笔记. 原文地址:第一节:模板简介 - Python框架Flask基础教程 - 知了传课 (zl ...
- SaltStack中的jinja模板
目录 1.基础简介 2.基本引用方式 3.在grains中的使用 4.在pillar中的使用 1.基础简介 Jinja是一种基于python的模板引擎,在SLS文件里可以直接使用jinja模板来做一些 ...
- 用 Flask 来写个轻博客 (12) — M(V)C_编写和继承 Jinja 模板
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 使用 Bootstrap 编写 Jinja 模板文件 继承一 ...
- MIT自然语言处理第一讲:简介和概述(第三部分)
自然语言处理:背景和概述 Natural Language Processing:Background and Overview 作者:Regina Barzilay(MIT,EECS Departm ...
- ajax jinja,在Flask中根据ajax response呈现Jinja模板
这是我第一次潜入Flask+Jinja,但我以前用过很多把手,所以我知道这是可能的,但我不知道如何用Flask完成这个任务: 我正在构建一个应用程序:用户输入一个字符串,这个字符串通过python脚本 ...
- Spring Boot - Thymeleaf模板简介以及集成
文章目录 Spring Boot - Thymeleaf模板简介以及集成 1.什么是Thymeleaf? 2.标准表达式 2.1 变量表达式 2.2 选择表达式/星号表达式 2.3 URL表达式 2. ...
- Saltstack自动化运维详解(数据系统 jinja模板 job管理)
文章目录 1. saltstack 的数据系统 1.1 SaltStack组件之Grains 1.grains使用方法 信息查询 查询某个key值 用Grains来匹配minion 2.自定义grai ...
- 【Superset】Jinja模板功能及设置动态参数
目录 1.Jinja模板功能介绍 1.1 开启Jinja模板 1.2 常用默认变量 1.3 自定义Jinja上下文 1.4 Jina模板默认值 1.5 特殊过滤参数 1.6 自定义模板 1.7 宏 2 ...
- 企业运维实战--自动化运维Saltstack(上)之saltstack的安装部署、远程执行、grains和pillar详解以及Jinja模板的使用
企业运维实战--自动化运维Saltstack(上) 前言 一.Saltstack安装部署 二.sls文件远程执行 saltstack安装httpd并启动 saltstack源码编译安装nginx 启动 ...
最新文章
- 返回顶部的js实现(jQuery/MooTools)
- 深度|​揭秘5G+AI时代的机器人世界!七大核心技术改变人类生活!
- jdbctemplate 开启事务_来,讲讲Spring事务有哪些坑?
- vue 请求多个api_vue 一个input同时请求两个接口
- AtCoder AGC034F RNG and XOR (概率期望、FWT)
- 关于Android Force Close 出现的原因 以及解决方法
- JavaScript之event事件
- android 左滑按钮,android开发类似微信列表向左滑动按钮操作
- python作品讲解_python实例作品
- python编程入门视频推荐_Python编程入门2021攻略,书籍推荐,视频推荐,每天更新...
- 鼠标双击检测_雷蛇巴塞利斯蛇无线游戏鼠标评测:青出于蓝胜于蓝
- linux 循环小时,shell脚本日期遍历(按天按小时)
- 20. Magento 创建新闻模块(1)
- maven 配置远程仓库服务器密码
- visio2016下载与安装
- html——陆海网站练习
- 区块链智能合约----Solidity状态修饰符view、pure
- Python win8安装
- kettle Call From LAPTOP-14BPR3NI/192.168.1.2 to locahost:8020 failed on connection
- 优质的服务器机房有哪些表现