前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怎么用Python Flask模板jin

怎么用Python Flask模板jin

作者头像
py3study
发布2020-01-20 14:38:55
6710
发布2020-01-20 14:38:55
举报
文章被收录于专栏:python3python3

问题:Python列表(或者字典等)数据本身是10进制,现在需要以16进制输出显示在网页上

解决:

Python Flask框架中 模板jinja2的If 表达式和过滤器

假设我有一个字典index, index['addr']是我要打印在网页上的元素,本身是字符串,需要用int()过滤器将字符串转为整形 index['addr']|int

过滤器原型介绍:

int(valuedefault=0)

Convert the value into an integer. If the conversion doesn’t work it will return 0. You can override this default using the first parameter.

字典元素转为整形后再用if表达式格式化输出

If 表达式介绍:

一般的语法是 <do something> if <something is true> else <do something else> 。

else 部分是可选的。如果没有显式地提供 else 块,会求值一个未定义对象:

代码语言:javascript
复制
{{ '[%s]' % page.title if page.title }}

下面这个表达式就是我最终需要的结果,%X是以16进制大写字符输出的意思,和C语法一样,前面补上0x更直观。

<td>{{ '[0x%X]' % index['addr']|int if index['addr']}}</td>

不要if后面语句也是可以的

'[0x%X]' % index['addr']|int

参考链接:

http://docs.jinkan.org/docs/jinja2/templates.html#if-expression

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档