zoukankan      html  css  js  c++  java
  • 怎么用Python Flask模板jinja2在网页上打印显示16进制数?

    问题: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 块,会求值一个未定义对象:

    {{ '[%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

  • 相关阅读:
    都不敢上CSDN了
    什么是函数(function)?
    今天3/8妇女节
    一件有意思的事情:关于std::string和std::auto_ptr
    转两篇Link相关的文章
    DevIL Downloads
    状态模式(State Pattern)
    访问者模式(Visitor Pattern)
    羊皮卷的故事第二章
    备忘录模式(Memento Pattern)
  • 原文地址:https://www.cnblogs.com/kunx/p/9935380.html
Copyright © 2011-2022 走看看