136.flask内置jinja2模版使用

文章目录

基本使用

入口

python 复制代码
 # conding:utf-8
import os
from flask import Flask

app = Flask(__name__,template_folder='template')

app.config['SECRET_KEY'] = os.urandom(20)

from controlle.index02 import index02
app.register_blueprint(index02)

# 过滤器
@app.template_filter('add')
def add(input):
    return input+1

# 全局函数
def myadd(a, b):
    return a + b
app.jinja_env.globals.update(myadd=myadd)

if __name__ == '__main__':
    app.run()

controlle.index02

python 复制代码
from flask import  Blueprint, render_template, session

index02 = Blueprint("index02", __name__)

@index02.route("/index02")
def index2_info():
    session["username"] = "大周老师"
    article = {
        "title": "论Python语言的学习难度",
        "count": 2001,
        "content": "<strong>你好</strong>"
    }
    return render_template('index02.html', article=article)

渲染模版

python 复制代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<button>你好这里是我的第二个模块</button>
		<h1>基本使用</h1>
		<div>标题:{{article.title}}</div>
		<div>阅读次数:{{article.count}}</div>

		{% if article.count % 2 == 0 %}
		<div>这是个偶数</div>
		{% else %}
		<div>这是个基数</div>
		{% endif %}

	    {% set result1 = article.count / 100 %}
	    {% set result2 = result1 | int %}
		<div>当前除以100的结果是: {{result2}}</div>

		{% for i in range(result2) %}
		<div>循环的每一项事: {{i+1}}</div>
		{% endfor %}

		<!--基本过滤器-->
		<div>{{ article.content | safe }}</div>
	    <div>{{ 'hello word' | upper }}</div>
	    <div>{{ 'hello word' | title }}</div>
	    <div>{{ 'hello word' | lower }}</div>

		<!-- 自定义过滤器 -->
		 <div>自定义过滤器{{ 1 | add }}</div>
		 <!-- 全局函数 -->
		 <div>全局函数{{ myadd(1,2) }}</div>
	</body>
</html>
相关推荐
2401_84149564几秒前
【自然语言处理】处理 GBK 编码汉字的算法设计
人工智能·python·自然语言处理·校验·文件读写·gbk编码与解码·批量过滤
武子康几秒前
大数据-187 Logstash Filter 插件实战:grok 解析控制台与 Nginx 日志(7.3.0 配置可复用)
大数据·后端·logstash
不爱学英文的码字机器3 分钟前
【征文计划】Rokid AR眼镜在工业维修领域的应用实践:智能装配指导系统开发全流程
后端·ar·restful
俊俊谢8 分钟前
【机器学习】python使用支持向量机解决兵王问题(基于libsvm库)
python·机器学习·支持向量机·svm·libsvm
爱笑的眼睛1111 分钟前
MLflow Tracking API:超越实验记录,构建可复现的机器学习工作流
java·人工智能·python·ai
小白学大数据13 分钟前
Python 爬虫如何分析并模拟 JS 动态请求
开发语言·javascript·爬虫·python
八月ouc13 分钟前
Python实战小游戏(一):基础计算器 和 猜数字
python·小游戏·猜数字·条件判断·基础计算器·控制流
zoujiahui_201816 分钟前
python中模型加速训练accelerate包的用法
开发语言·python
民乐团扒谱机18 分钟前
【微实验】基于Python实现的实时键盘鼠标触控板拾取检测(VS2019,附完整代码)
python·c#·计算机外设
胡玉洋24 分钟前
Spring Boot 项目配置文件密码加密解决方案 —— Jasypt 实战指南
java·spring boot·后端·安全·加密·配置文件·jasypt