136.flask内置jinja2模版使用

server/2024/11/23 15:57:38/

文章目录

      • 基本使用

基本使用

入口

python"> # conding:utf-8
import os
from flask import Flaskapp = 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, sessionindex02 = 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>

http://www.ppmy.cn/server/144291.html

相关文章

三道贪心题

406. 根据身高重建队列 题解&#xff1a;代码随想录 AC代码&#xff1a; class Solution {public int[][] reconstructQueue(int[][] people) {Arrays.sort(people,(a,b)->{if(a[0]b[0]) return a[1]-b[1];else return b[0]-a[0];});LinkedList<int[]> queuenew L…

17.100ASK_T113-PRO 配置QT运行环境(三)

前言 1.打开QT,新建项目. 做成以下效果,会QT都没有问题吧 编译输出: /home/book/LED_and_TempHumi/build-LED_and_TempHumi-100ask-Debug LED_and_TempHumi 2.下载程序与测试 设置运行环境 export QT_QPA_PLATFORMlinuxfb 这个地方还需要加字体,不然不会显示字体.

Android 使用 LiveData/OnCheckedChangeListener 来监听变量变化

学习笔记 总结&#xff1a; 方法 1&#xff1a;使用 LiveData 是一种更现代和响应式的方式&#xff0c;适用于需要在 UI 更新时自动响应数据变化的场景&#xff0c;特别适合处理状态变化、配置更复杂的业务逻辑时。 方法 2&#xff1a;使用 OnCheckedChangeListener 适合处理…

《Linux网络安全技术与实现》学习

何谓防火墙 防火墙&#xff1a;一种位于内部网络与外部网络之间的网络安全系统。 防火墙的判断依据&#xff08;一&#xff09; 各层数据包包头内的信息 链路层 比如将网卡的MAC地址作为过滤规则 网络层 比如将IP包头的相关数据作为过滤规则 网络传输层 比如将TCP包头的内容信…

MATLAB深度学习(六)——LSTM长短期神经网络原理与应用

LSTM的应用可以参见一个相当好的视频&#xff1a;小车倒立摆最优控制教程 - Part1 Simulink Simscape Multibody仿真建模_哔哩哔哩_bilibili 6.1 序列建模——循环神经网络 循环神经网络RNN是一类专门用于处理序列性数据x&#xff0c;&#xff0c;xn的神经网络结构&#xff0c…

40分钟学 Go 语言高并发:sync包详解(上)

sync包详解&#xff08;上&#xff09; 学习目标 知识点掌握程度应用场景Mutex实现原理深入理解底层实现机制并发访问临界资源时的互斥控制RWMutex使用场景掌握读写锁的特性和应用读多写少的并发场景优化锁竞争优化了解常见的锁优化策略高并发系统性能调优死锁检测能够识别和…

DHECDH密钥交互算法

1. 引言 在现代通信中&#xff0c;数据的安全性至关重要。无论是网络浏览、电子邮件&#xff0c;还是移动支付&#xff0c;保护数据不被窃听和篡改都是首要任务。密钥交换是保障通信安全的关键技术之一&#xff0c;其中最著名的两个算法是 Diffie-Hellman (DH) 和 椭圆曲线 Di…

时间操作[计算时间差]免费API接口教程

接口简介&#xff1a; 取两个时间戳的格式化时间差。 请求地址&#xff1a; https://cn.apihz.cn/api/time/zjgapi.php 请求方式&#xff1a; POST或GET。 请求参数&#xff1a; 【名称】【参数】【必填】【说明】 【用户ID】【id】【是】【用户中心的数字ID&#xff0c;例&…