怎么用Python Flask模板jinja2在网页上打印显示16进制数?
2024-09-30 09:48:51
问题:Python列表(或者字典等)数据本身是10进制,现在需要以16进制输出显示在网页上
解决:
Python Flask框架中 模板jinja2的If 表达式和过滤器
假设我有一个字典index, index['addr']是我要打印在网页上的元素,本身是字符串,需要用int()过滤器将字符串转为整形 index['addr']|int
过滤器原型介绍:
int(value, default=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 块,会求值一个未定义对象:
{{ '[%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
最新文章
- [转]linux sort,uniq,cut,wc命令详解
- python3网络爬虫笔记
- Android 启动模拟器是出现“Failed to allocate memory: 8”错误提示的原因及解决办法
- java中打开说明文档
- Multiplication Table
- Android 匿名共享内存Java接口分析
- Java调用.dll文件
- Python通过跳板机链接MySQL的一种方法
- rem布局完成响应式开发,通俗且详细的原理解析和代码实现
- 无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题
- Python全栈(第一部分)day2
- Python os.walk文件遍历用法【转】
- GDOI2018 滑稽子图 [斯特林数,树形DP]
- Jenkins tomcat打包启动脚本,待完善
- 二叉树的递归,非递归遍历(java)
- BZOJ.2916.[POI1997]Monochromatic Triangles(三元环)
- HTTP/2探索第一篇——概念
- C#【Thread】Interlocked 轻量级锁
- 使用 virt-install 创建虚拟机
- 随笔小问题(一)--mac打开class文件