如何在Django管理员中本地化list_display字段?

时间:2011-11-29 11:30:36

标签: django localization admin

我在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)

这样可行,但为每个浮点字段定义一个方法我看起来像很多不必要的代码。有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

经过一番研究后我找到了答案。为了实现我想要的,有三件事是必要的:

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