gpt4 book ai didi

python - 更改 Django 中特定 CharField 的渲染

转载 作者:行者123 更新时间:2023-11-28 22:23:21 25 4
gpt4 key购买 nike

我有一个模型 BankAccountBankAccount 模型包含 CharField IBAN,这是一个国际银行帐号。我在多个模板中使用 {{ bank_account.IBAN }}。它存储为不带空格的字符串,但我想更改它的模板渲染,以便每 4 个字符后跟零。

SK121234123412341234 将呈现为 SK12 1234 1234 1234 1234

我可能会创建一些 TemplateTagTemplateFilter 但我很好奇是否有办法在 BankAccount 模型中更改它。例如,创建我自己的 IBANField(覆盖 CharField),这样我就不必通过 tags 包围 IBAN 变量或 过滤器

class BankAccount(models.Model):
IBAN = models.CharField(max_length=40, ... )
...

未在此处找到渲染方法:https://docs.djangoproject.com/en/1.11/howto/custom-model-fields/

最佳答案

您可以创建自定义字段,但最简单的方法就是编写一个以正确格式显示值的方法。像这样的东西:

class BankAccount(models.Model):
..
def display_iban(self):
return ''.join(l + ' ' if (i+1) % 4 == 0 else l for i, l in enumerate(self.IBAN))

现在您可以在模板中执行 {{ bank_account.display_iban }}

关于python - 更改 Django 中特定 CharField 的渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47059534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com