【问题标题】:How to use hex numbers in Django如何在 Django 中使用十六进制数字
【发布时间】:2017-02-26 08:26:37
【问题描述】:

我是 Django(和 python)的新手,我正在尝试使用十六进制数字。我有一个使用 PositiveIntegerField 的模型。但我想在表格中输入 0x0000 之类的数字,并在列出表格时也显示为十六进制。我应该在哪里寻找这种行为?自定义小部件、管理器、元子类?我有很多东西要学(哦,是的,宝贝!)但是时间太少了。知道在哪里寻找的一点帮助将不胜感激:)

谢谢

【问题讨论】:

  • 使用 Django CharField 存储十六进制值。

标签: django python-3.5


【解决方案1】:

因此,如果您希望用户提交像0x04 这样的数字,您需要将它们作为字符串发送。在后端,将它们解析为 base-16 整数:

# input_string = "0x04"
n = int(input_string, 16)
=> n = 4

将它们存储在模型上,基数在这里无关紧要:

your_model.number = n

显示时,只需使用hex():

print hex(your_model.number)
=> 0x4

print hex(15)
=> "0xf"

或者更好地使用 "%x" 格式化程序:

>>> print "%x" % 100
64
>>> print "0x%x" % 100
64

这将允许您用零填充数字...

>>> print "%06x" % 100
000064

【讨论】:

    猜你喜欢
    • 2014-01-04
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 2013-06-10
    • 2010-09-09
    • 2011-07-15
    • 2011-05-15
    相关资源
    最近更新 更多