1
我使用django-money來處理英鎊(英鎊)的金額,但它們的輸出爲GB£20.00
,而不是£20.00
。儘管settings.LANGUAGE_CODE
是"en-GB"
而settings.USE_L10N
是True
。如何配置django-money以英國格式輸出英鎊?
我在做什麼錯?
我使用django-money來處理英鎊(英鎊)的金額,但它們的輸出爲GB£20.00
,而不是£20.00
。儘管settings.LANGUAGE_CODE
是"en-GB"
而settings.USE_L10N
是True
。如何配置django-money以英國格式輸出英鎊?
我在做什麼錯?
Django-money使用pymoneyed來處理本地化,但不幸在撰寫本文時,pymoneyed沒有正確設置以處理GBP本地化。我創建了a pull request which fixes it,所以希望這會在某個時刻固定下來。
與此同時,您可以配置您的Django安裝,以便在Django運行時(例如在models.py
中)添加以下代碼,以便在Django運行時調用該代碼。
import moneyed
from moneyed.localization import _FORMATTER
from decimal import ROUND_HALF_EVEN
# A unicode GBP sign
POUND_SIGN = u'\u00A3'
_FORMATTER.add_formatting_definition("en_GB",
group_size=3, group_separator=",", decimal_point=".",
positive_sign="", trailing_positive_sign="",
negative_sign="-", trailing_negative_sign="",
rounding_method=ROUND_HALF_EVEN)
_FORMATTER.add_sign_definition('en_GB', moneyed.GBP, prefix=POUND_SIGN)