当前位置: 首页 > article >正文

136.flask内置jinja2模版使用

文章目录

      • 基本使用

基本使用

入口

 # 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

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)

渲染模版

<!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>

http://www.kler.cn/a/410484.html

相关文章:

  • 2.13 转换矩阵
  • Redis常见面试题总结(上)
  • .net core MVC入门(一)
  • 【C++篇】排队的艺术:用生活场景讲解优先级队列的实现
  • WebRTC音视频同步原理与实现详解(上)
  • Spring Boot 3.x + OAuth 2.0:构建认证授权服务与资源服务器
  • 【随手笔记】GUI上位机选择
  • react和vue图片懒加载及实现原理
  • springboot项目使用maven打包,第三方jar问题
  • Java基础--输入输出
  • STM32 Keil5 attribute 关键字的用法
  • Java爬虫:数据采集的强大工具
  • Perl 简介
  • react函数式组件中的路由传参方式
  • 智慧环保大数据解决方案
  • 如何防止序列化破坏单例模式
  • 探索C/C++的奥秘之stack和queue
  • Python 数据分析核心库大全!
  • 《Python游戏编程入门》注-第8章5
  • go语言range的高级用法-使用range来接收通道里面的数据
  • spark 3.4.4 利用Spark ML中的交叉验证、管道流实现鸢尾花分类预测案例选取最优模型
  • 【zookeeper03】消息队列与微服务之zookeeper集群部署
  • 网络新技术新应用在网络安全领域的发展特点
  • 【GL004】Linux
  • vue3 reactive响应式实现源码
  • CTO 实际上是做什么的?