- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有多个模型,其中多个 DecimalField 代表金钱,例如 100.34 欧元。
我的目标是在管理 ListView 中显示货币,如图所示。
http://i.imgur.com/XKEQFp9.png
但是我找不到对每个货币字段都这样做的方法。
我尝试创建自定义 MoneyField,继承自 DecimalField 并更改 unicode 表示,但没有成功。
我也试过 https://github.com/jakewins/django-money但我没有运气。
查了一下django admin的源码,终于找到了问题所在:
在 django.admin.contrib.admin.util.py 的 display_for_field 函数中,它检查该值是否是 DecimalField 的一个实例。如果是这种情况,它会将其显示为十进制数。
elif isinstance(field, models.DecimalField):
return formats.number_format(value, field.decimal_places)
这是有道理的,但它阻止我在管理中显示欧元符号/文本。
我该如何解决这个问题?
我知道我可以简单地为每个字段使用一种方法,将格式化值显示为字符串,但我想知道是否有 DRYer 方法。
最佳答案
为了在管理列表中显示,您可以在您的 ModelAdmin
类中创建一个自定义函数,该函数将被调用以格式化每个值:
class MyModelAdmin(admin.ModelAdmin):
list_display = ('formatted_amount', ...other fields...,)
def formatted_amount(self, obj):
# obj is the Model instance
# If your locale is properly set, try also:
# locale.currency(obj.amount, grouping=True)
return '%.2f EUR' % obj.amount
关于python - 在 django 管理中显示带有货币的 DecimalField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18759765/
我有一个包含 amount (DecimalField(decimal_places=2)) 字段的查询集。我想过滤查询集以排除金额不是整数(整数)值的任何行。 示例有效值:1.00、125.00 示
我正在尝试使用下面的代码创建一个 DecimalField 子类 class PositiveMoneyField(DecimalField): def __init__(self, verb
因此,如果我知道将模型数据序列化为 JSON 有多么困难,我永远不会使用 Django 的 DecimalField 选项。 长话短说,如何从 DecimalField 获取浮点值? 我的模型看起来像
这是我的 model : class Tick(BaseModel): . . trade_coin_volume = models.DecimalField(
为什么我在这里得到错误的精度?我在 float 后问了 3 位小数。 >>> from decimal import Decimal >>> from decimal import getcontex
我想使用具有 6 位小数的 DecimalField 并在独立模型中对其进行测试: class MyItem(models.Model): myval = models.DecimalFiel
我有一个带有 DecimalField 的模型: points_player1 = models.DecimalField(max_digits=3, decimal_places=1, blank=
我有一个带有小数字段的 Django 模型: class User(models.Model): ... balance = models.DecimalField(max_digit
我有点困惑为什么我的网站偶尔将逗号呈现为小数分隔符。 我现在已经禁用了USE_L10N,这应该可以解决这个问题,但我仍然很好奇这个每个请求语言代码到 DecimalField 的魔法是在哪里发生的。我
看看这个例子 class MyForm(ForM): ...snip... quantity = DecimalField(u'Quantity', [NumberRange(1, 8
我有一个带有 DecimalField 的表单: price = forms.DecimalField(required=True, widget=forms.NumberInput(
我正在尝试在 Django 中验证 DecimalField 在 shell 中尝试: >> from django.forms import DecimalField >> from django.
有没有办法强制 django 不显示任何内容,而不是为留空的十进制字段显示“无”? 在我的模板中,我显示了特定字段的所有值的列表。每个值都超链接到一个页面,该页面显示根据该值过滤的查询结果。但是因为有
我有多个模型,其中多个 DecimalField 代表金钱,例如 100.34 欧元。 我的目标是在管理 ListView 中显示货币,如图所示。 http://i.imgur.com/XKEQFp9
我很好奇哪个更适合作为货币字段?我会做一些简单的操作,比如取差,新旧价格之间的百分比。我计划在零后保留两位数字(即 10.50),如果这些数字为零,大多数情况下,我将隐藏这些数字并将其显示为“10”
编辑!!! - 当我创建一个新对象时,将值转换为字符串似乎工作正常,但当我尝试编辑现有对象时,它不允许这样做。 所以我的 Decimal(3,2) 模型之一中有一个 decimal 字段 当我查询所有
Django 1.6、Python 2.7.5+、PostgreSQL 9.1、Linux。 我在模型中定义了几个小数字段,如下所示: min_inclusive = models.DecimalFi
我有一个使用 Django 和 Django Rest Framework 开发的 API。我有一个带有 DecimalField 的模型,它应该存储至少 1 的值。因此,我通过以下方式定义了该字段:
我在文档中找不到任何内容。对于该字段,我们需要提供两个参数:max_digits 和 decimal_places。 class Product(models.Model): price =
我有一个使用 Django 和 Django Rest Framework 开发的 API。我有一个带有 DecimalField 的模型,它应该存储至少 1 的值。因此,我通过以下方式定义了该字段:
我是一名优秀的程序员,十分优秀!