有没有办法在 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>s
是 right-padding format specifier喜欢{:<num>}
.
关于python - 在 Jinja 模板中指定字段宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44855808/