【问题标题】:How to localize list_display fields in Django admin?如何在 Django admin 中本地化 list_display 字段?
【发布时间】:2012-01-08 17:57:18
【问题描述】:

我在 ModelAdmin 类的 list_display 中有浮点字段,我希望它们在本地显示(如 1.000,00)。我已经将 USE_L10N 和 USE_I18N 设置为 True,但这还不够。

我目前的解决方案如下:

from django.utils import formats

class MyAdmin(admin.ModelAdmin):
   list_display = ('localized_myfield')

   def localized_myfield(self, instance):
       return formats.localize(instance.myfield)

这行得通,但是为我拥有的每个浮点字段定义一个方法看起来像很多不必要的代码。有没有更简单的方法来做到这一点?

【问题讨论】:

    标签: django localization admin


    【解决方案1】:

    经过一番研究,我找到了答案。要实现我想要的,需要三件事:

    • USE_L10N=在 settings.py 中为真
    • settings.py 中的USE_THOUSAND_SEPARATOR
    • myfield = forms.DecimalField(localize=True) in forms.py(我终于意识到在我的情况下,DecimalField 比 Floatfield 更好)

    【讨论】:

    • localize=True 适用于编辑表单,但如何在 list_display 上添加本地化?
    猜你喜欢
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多