14

私はpython 2.6とdjango 1.27を使用しています

私のモデル

class Plan(models.Model):
     price = models.DecimalField(max_digits=5, decimal_places=2,default=0)
     .....

私のテンプレートでは

{{plan.price}}

私の問題は、ローカル マシンでは区切り文字として「2.54」などのドットが使用されることです
が、実稼働マシンでは「2,54」が取得されます。コンマが区切り文字として使用されます。
どこでもドットを使用したいと思います。

django docs https://docs.djangoproject.com/en/1.2/ref/settings/#decimal-separator
には、「DECIMAL_SEPARATOR」オプションがデフォルトのドットであると書かれています。

ところで両方のマシンで

In [2]: from django.conf import settings
In [3]: print settings.DECIMAL_SEPARATOR
.

解決:

@Marcin が指摘したよう
に、実稼働マシンで USE_L10N を False に設定します。

4

2 に答える 2

16

まず第一に、デフォルトで L10N と I18N がオンになっていると仮定settings.pyします。表示される違いは、2 つの異なるロケールを持つ 2 つの異なるコンピューターから Web サイトにアクセスしているためと考えられます。Django は、ブラウザから報告されたロケールに合わせてフォーマットしようとします。

ただし、この動作を無効にすることができます。https://docs.djangoproject.com/en/dev/ref/settings/を参照してください。を設定USE_L10N=Falseし、リンクされたページで指定されたさまざまな区切りオプションを設定します。

于 2013-10-24T13:26:10.453 に答える