我在Django中有以下代码:
import locale
locale.setlocale( locale.LC_ALL, '' )
def format_currency(i):
return locale.currency(float(i), grouping=True)
Run Code Online (Sandbox Code Playgroud)
它在开发模式下的某些计算机上运行,但是一旦我尝试在生产模式下部署它,我就会收到此错误:
Exception Type: TemplateSyntaxError
Exception Value: Caught ValueError while rendering: Currency formatting is not possible using the 'C' locale.
Exception Location: /usr/lib/python2.6/locale.py in currency, line 240
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我可以在生产服务器上执行此操作,它可以正常工作:
python manage.py shell
>>> import locale
>>> locale.setlocale( locale.LC_ALL, '' )
'en_CA.UTF-8'
>>> locale.currency(1, grouping=True)
'$1.00'
Run Code Online (Sandbox Code Playgroud)
我......不明白.我
unu*_*tbu 26
在生产服务器上,尝试
locale.setlocale( locale.LC_ALL, 'en_CA.UTF-8' )
Run Code Online (Sandbox Code Playgroud)
代替
locale.setlocale( locale.LC_ALL, '' )
Run Code Online (Sandbox Code Playgroud)
使用时''
,语言环境设置为用户的默认值(通常由LANG
环境变量指定).在生产服务器上,看起来是"C",而作为测试用户,它似乎是"en_CA.UTF-8".
归档时间: |
|
查看次数: |
11044 次 |
最近记录: |