python - 在 Jinja 模板中指定字段宽度

标签 python jinja2

有没有办法在 Jinja 模板中指定每个字段的宽度?

例如我希望我的输出显示如下:

Name           Roll  Address                      Subject1        Subject2  

我希望每个字段都有一个与之关联的宽度。每个字段都有不同的宽度

我找到了一种在 Python 格式化的帮助下完成此操作的方法

template = "{:20} {:2} {:30} {:10} {:10}"
fields = template.format("Name", "Roll", "Address","Subject1", "Subject1")
print(fields)

但是,我需要一种在 Jinja2 中执行此操作的方法,因为我有大量字段,其中一些字段需要条件格式。有没有一种方法可以做到这一点而不必对中间的空格进行硬编码?

{{Name}}              {{Roll}}  {{Address}}             {{Subject1}}              {{Subject2}} 

最佳答案

有一个百分比格式过滤器, format :

{{'%-20s'|format(Name)}} {{'%-2s'|format(Roll)}} {{'%-30s'|format(Address)}} {{'%-10s'|format(Subject1)}} {{'%-10s'|format(Subject2)}}

{{'%-20s %-2s %-30s %-10s %-10s'|format(Name, Roll, Address, Sbject1, Subject2)}}

%-<num>sright-padding format specifier喜欢{:<num>} .

关于python - 在 Jinja 模板中指定字段宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44855808/

相关文章:

python - 将向量 (float4) kernell 参数传递给 OpenCL (Python)

Django 集成与 Mako Jinja2 模板比较使用 : render_to_response. 问题?

python - 如果该列大于所述日期,如何绕过此错误以使该列为零? "TypeError: invalid type promotion "

python - flask-sqlalchemy where in 子句查询语法是什么?

python - 您可以仅使用 Python 请求查询 YouTube API v3 吗?

javascript - 使用闭包编译器缩小包含 Jinja2 表达式的 JavaScript 代码

python - TemplateSyntaxError : expected token ':' , 得到 '}'

ansible 2 : cannot use undef vars in templates

list - Ansible Jinja2 过滤器

python - 使用 Python 请求将数据传递到 Django View