jinja2

Translating %% with gettext and jinja2 and pyramid

我是研究僧i 提交于 2020-02-22 08:07:54
问题 Doing i18n work with Python using Jinja2 and Pyramid. Seems to have a problem knowing how it should translate %%. I'm beginning to suspect the bug is in Jinja2. So I've done some more investigation and it appears the problem is more with gettext than with jinja2 as illustrated with the repl >>>gettext.gettext("98%% off %s sale") % ('holiday') '98% off holiday sale' >>>gettext.gettext("98%% off sale") '98%% off sale' >>>gettext.gettext("98% off %s sale") % ('holiday') Traceback (most recent

Translating %% with gettext and jinja2 and pyramid

蹲街弑〆低调 提交于 2020-02-22 08:04:33
问题 Doing i18n work with Python using Jinja2 and Pyramid. Seems to have a problem knowing how it should translate %%. I'm beginning to suspect the bug is in Jinja2. So I've done some more investigation and it appears the problem is more with gettext than with jinja2 as illustrated with the repl >>>gettext.gettext("98%% off %s sale") % ('holiday') '98% off holiday sale' >>>gettext.gettext("98%% off sale") '98%% off sale' >>>gettext.gettext("98% off %s sale") % ('holiday') Traceback (most recent

jinja2的基本使用

大憨熊 提交于 2020-02-12 15:10:24
jinja2 jinja2: jinja是日本寺庙的意思, 寺庙的英文是temple和模板的英文template发音类似, jinja2是默认的模仿Django模板的一个模板引擎, 由flask的作者开发 它速度快 被广泛使用, 并且提供了可选的沙箱模板来保证执行环境安全 jinja2的优点 让前端开发者和后端开发者工作分离 减少flask项目代码的耦合性, 页面逻辑放在模板中, 业务逻辑放在视图函数中, 将页面逻辑和业务逻辑解耦有利于代码的维护 提供了控制语句, 继承等高级功能, 减少开发的复杂度 渲染的模板 导入方式 from flask import render_template 将前端需要渲染的代码写入 templates文件夹 示例代码 如果想要把"渲染的文件放入别的目录下, 就需要指定存放的目录" 指定存放目录的方式: app = Flask(__name__, template_folder="存放目录的绝对路径") 如果templates下创建了子目录, 那么渲染时需要指定子目录 来源: CSDN 作者: 仰望着那高处的巨人们 链接: https://blog.csdn.net/weixin_44737646/article/details/104277388

Python - What is the process to create pdf reports with charts from a DB?

北战南征 提交于 2020-01-30 18:39:18
问题 I have a database generated by a survey to evaluate university professors. What I want is a python script that takes the information from that database, generates a graphing table for each user, creates graphs for each user, and then renders it in a template to export it to a pdf. What does the database look like? User Professor_evaluated Category Question Answer _________________________________________________________________ Mike Professor Criss respect 1 3 Mike Professor Criss respect 2 4

第四篇 Flask 中的模板语言 Jinja2 及 render_template 的深度用法

北城余情 提交于 2020-01-30 08:18:58
是时候开始写个前端了,Flask中默认的模板语言是Jinja2 现在我们来一步一步的学习一下 Jinja2 捎带手把 render_template 中留下的疑问解决一下 首先我们要在后端定义几个字符串,用于传递到前端 STUDENT = {'name': 'Old', 'age': 38, 'gender': '中'}, STUDENT_LIST = [ {'name': 'Old', 'age': 38, 'gender': '中'}, {'name': 'Boy', 'age': 73, 'gender': '男'}, {'name': 'EDU', 'age': 84, 'gender': '女'} ] STUDENT_DICT = { 1: {'name': 'Old', 'age': 38, 'gender': '中'}, 2: {'name': 'Boy', 'age': 73, 'gender': '男'}, 3: {'name': 'EDU', 'age': 84, 'gender': '女'}, } 但是前提我们要知道Jinja2模板中的流程控制: I. Jinja2模板语言中的 for {% for foo in g %} {% endfor %} II. Jinja2模板语言中的 if {% if g %} {% elif g %} {% else %} {

linux下安装python组件之jinja2

依然范特西╮ 提交于 2020-01-30 06:29:07
这是本人在工作中的随笔,如有错误之处,还请指正! 首先说一下什么是jinja2 Jinja2是Python下一个被广泛应用的模版引擎,他的设计思想来源于 Django 的模板引擎,并扩展了其语法和一系列强大的功能。其中最显著的一个是增加了沙箱执行功能和可选的自动转义功能,这对大多应用的安全性来说是非常重要的。 特性 沙箱执行模式,模板的每个部分都在引擎的监督之下执行,模板将会被明确地标记在白名单或黑名单内,这样对于那些不信任的模板也可以执行。 强大的自动 HTML 转义系统,可以有效地阻止 跨站脚本攻击 。 模板继承机制,此机制可以使得所有的模板都具有相似一致的布局,也方便了开发人员对模板的修改和管理。 高效的执行效率,Jinja2引擎在模板第一次加载时就把 源码 转换成Python 字节码 ,加快模板执行时间。 可选的预编译模式。 调试系统融合了标准的Python的TrackBack系统,使得模板编译和运行期间的错误能及时被发现和调试。 语法可配置,可以重新配置Jinja2使得它更好地适应LaTeX或 JavaScript 的输出。 模板设计人员帮助手册,此手册指导设计人员更好地使用Jinja2引擎的各种方法 一般jinja2在linux和windows上运行,今天我只说在linux上运行 有时候在linux系统中用pip安装jinja2的时候发现安装不上,所以只能手动安装

Jinja2模板引擎

≡放荡痞女 提交于 2020-01-30 06:24:11
/*--> */ /*--> */ 这里是 Jinja2通用模板语言 的文档。 Jinja2 在其是一个 Python 2.4 库之前,被设计 为是灵活、快速和安全的。如果你接触过其它的基于文本的模板语言,比如 Smarty 或 Django ,那么 Jinja2 会让你有 宾至如归的感觉。Jinja2 通过坚持 Python 原则来保证对设计者和开发者友好,为模板环 境添加有帮助的功能。    介绍 这里是 Jinjin2 通用模板语言的文档。 Jinja2 在其是一个 Python 2.4 库之前,被设计 为是灵活、快速和安全的。 如果你接触过其它的基于文本的模板语言,比如 Smarty 或 Django ,那么 Jinja2 会让你有 宾至如归的感觉。Jinja2 通过坚持 Python 原则来保证对设计者和开发者友好,为模板环 境添加有帮助的功能。 预备知识 Jinja2 需要至少 Python 2.4 版本来运行。此外,如果你使用 Python 2.4 ,一个可 以创建 python 扩展的可用的 C 编译器会为调试器安装。 如果你没有一个可用的 C 编译器,并且你视图安装带调试支持的源码版本,你会得到一个 编译器错误。 If you don’t have a working C-compiler and you are trying to install the

第四篇 Flask 中的模板语言 Jinja2 及 render_template 的深度用法

大兔子大兔子 提交于 2020-01-30 06:13:14
是时候开始写个前端了,Flask中默认的模板语言是Jinja2 现在我们来一步一步的学习一下 Jinja2 捎带手把 render_template 中留下的疑问解决一下 首先我们要在后端定义几个字符串,用于传递到前端 STUDENT = {'name': 'Old', 'age': 38, 'gender': '中'}, STUDENT_LIST = [ {'name': 'Old', 'age': 38, 'gender': '中'}, {'name': 'Boy', 'age': 73, 'gender': '男'}, {'name': 'EDU', 'age': 84, 'gender': '女'} ] STUDENT_DICT = { 1: {'name': 'Old', 'age': 38, 'gender': '中'}, 2: {'name': 'Boy', 'age': 73, 'gender': '男'}, 3: {'name': 'EDU', 'age': 84, 'gender': '女'}, } 但是前提我们要知道Jinja2模板中的流程控制: I. Jinja2模板语言中的 for {% for foo in g %} {% endfor %} II. Jinja2模板语言中的 if {% if g %} {% elif g %} {% else %} {

第四篇 Flask 中的模板语言 Jinja2 及 render_template 的深度用法

﹥>﹥吖頭↗ 提交于 2020-01-30 06:13:01
是时候开始写个前端了,Flask中默认的模板语言是Jinja2 现在我们来一步一步的学习一下 Jinja2 捎带手把 render_template 中留下的疑问解决一下 首先我们要在后端定义几个字符串,用于传递到前端 STUDENT = {'name': 'Old', 'age': 38, 'gender': '中'}, STUDENT_LIST = [ {'name': 'Old', 'age': 38, 'gender': '中'}, {'name': 'Boy', 'age': 73, 'gender': '男'}, {'name': 'EDU', 'age': 84, 'gender': '女'} ] STUDENT_DICT = { 1: {'name': 'Old', 'age': 38, 'gender': '中'}, 2: {'name': 'Boy', 'age': 73, 'gender': '男'}, 3: {'name': 'EDU', 'age': 84, 'gender': '女'}, } 但是前提我们要知道Jinja2模板中的流程控制: I. Jinja2模板语言中的 for {% for foo in g %} {% endfor %} II. Jinja2模板语言中的 if {% if g %} {% elif g %} {% else %} {

Flask最强攻略 - 跟DragonFire学Flask - 第四篇 Flask 中的模板语言 Jinja2 及 render_template 的深度用法

安稳与你 提交于 2020-01-30 05:52:41
是时候开始写个前端了,Flask中默认的模板语言是Jinja2 现在我们来一步一步的学习一下 Jinja2 捎带手把 render_template 中留下的疑问解决一下 首先我们要在后端定义几个字符串,用于传递到前端 STUDENT = {'name': 'Old', 'age': 38, 'gender': '中'}, STUDENT_LIST = [ {'name': 'Old', 'age': 38, 'gender': '中'}, {'name': 'Boy', 'age': 73, 'gender': '男'}, {'name': 'EDU', 'age': 84, 'gender': '女'} ] STUDENT_DICT = { 1: {'name': 'Old', 'age': 38, 'gender': '中'}, 2: {'name': 'Boy', 'age': 73, 'gender': '男'}, 3: {'name': 'EDU', 'age': 84, 'gender': '女'}, } 但是前提我们要知道Jinja2模板中的流程控制: I. Jinja2模板语言中的 for {% for foo in g %} {% endfor %} II. Jinja2模板语言中的 if {% if g %} {% elif g %} {% else %} {