flask jinja2
来源:互联网 发布:xmind8 mac 激活码 编辑:程序博客网 时间:2024/05/21 06:16
最近入坑flask,jinja2作为其默认支持的模板语言,绝对值得一学。
本文适合还未接触想快速尝试一下(不想看官文)的同学。
官方文档:http://docs.jinkan.org/docs/jinja2/
1. 是什么
是什么:jinja2是Flask默认支持的模板引擎,它的主要作用是渲染模板
2. 怎么用
一个最简单的入门程序, 它包含两部分
1.test.py
# 1.导入依赖包from flask import Flask, render_template # 2.实例化app app = Flask(__name__) # 3.映射,默认情况下flask从templates文件夹中寻找模板文件(index.html) @app.route('/') def index(): return render_template('index.html') @app.route('/user/<param>') def user(name): return render_template('index.html', param=param)
2.templates/index.html
接收变量(过滤),变量写在{{ }}中
....<body> {{ param|safe }}<body>...
- 注:其中’|‘后面加过滤器
- Jinja2变量过滤器:
- safe: 渲染时不转义
- capitalize:把值的首字母转换成大写,其他字母转换成小写
- lower: 把值转换成小写形式
- upper: 把值转换成大写形式
- title: 把值中每个单词的首字母都转换成大写
- trim: 把值的首尾空格都去掉
- striptags: 渲染之前把值中所有的HTML标签都删掉
!添加的逻辑代码,写在{% %}中
- 定义变量&逻辑循环
{% set links=[ {'label':'home','href':url_for('.index')}, {'label':'home','href':url_for('.about')}, {'label':'home','href':url_for('.services')}, {'label':'home','href':url_for('.projects)},]%}<nav> {% for link in links %} <a href="{{ link.href }}">{{ link.label }}</a> {% endfor %}</nav>
3. 一些高级玩法
- 3.1 继承
<!--此处继承了bootstrap-->{% extends 'bootstrap/base.html' %}
<!--定义自己的模块-->{% block title %} *****自定义内容{% endblock %}
<!--修改父模块内容-->{% block head %} {{ super() }} ******自定义内容{% endblock %}
<!--包含子页--><% block head %> <% include 'includes/head.html' %> <% include ['includes/head.html','includes/head2.html'] %><% endblock head %>
- 3.2 宏
<!--定义宏-->{% marco input(name,type='text',value='',size=20) %} <input type="{{ type }}" name="{{ name }}" value="{{ value }}" size="{{ size }}" />{% endmarco %}<!--调用宏-->{{ input('username')}}{{ input('password',type='password')}}
如果宏比较多,可以抽到单独的html中,再import进来
{% import '_marcos.html' as ui%}...{{ ui.input('username')}}
阅读全文
0 0
- flask jinja2
- flask--jinja2
- Flask Jinja2模板
- Flask web 开发 Jinja2 模板
- Flask中的Jinja2模板使用
- Flask-Jinja2模板学习总结
- Flask模板引擎——Jinja2
- Python学习:Flask框架和jinja2模板
- Flask Web 开发 Jinja2 macro 信息
- flask中jinja2设置使用全局变量
- Flask——Jinja2 学习笔记
- Flask入门(二)Jinja2 模板
- Flask(Jinja2) 服务端模板注入漏洞
- Flask笔记(2)--flask的jinja2模板引擎
- jinja2
- jinja2
- Jinja2
- jinja2
- kotlin Packages
- WMI中的命名空间与路径
- MySQL索引背后的数据结构及算法原理----惊叹的深入
- Android 图片压缩
- html5标签兼容IE
- flask jinja2
- FreeMarker使用Template生成可变参数的json(二)
- 加密问题一步接一步
- ROS中的CMakeLists.txt
- 微信公众号支付WeixinJSBridge
- Apache 运行PHP原理
- Fiddler之——Fiddler简介
- Android如何提高技术水平
- 单例模式 (一) 立即加载/"饿汉模式"