Django如何切换语言?设置LANGUAGE_CODE为es后错误提示不生效
Django表单西语错误提示不生效解决步骤
按以下顺序排查即可:
- 修正语言代码:你当前设置的
LANGUAGE_CODE = 'es'是通用西班牙语,匹配你配置的阿根廷布宜诺斯艾利斯时区,建议改为es-ar,适配本地本地化规则。 - 补充翻译路径配置:Django默认不会主动加载项目级翻译文件,需要在
settings.py中添加LOCALE_PATHS配置,指定翻译文件存放位置:
import os LOCALE_PATHS = [ os.path.join(BASE_DIR, 'locale'), ]
添加配置后,在manage.py所在的根目录新建名为locale的空文件夹。
- 编译翻译文件:激活项目虚拟环境,在根目录终端执行命令,编译Django内置和项目自定义的翻译文件:
python manage.py compilemessages
Windows系统运行该命令前需要先安装GNU gettext并配置环境变量,否则会提示命令不存在。
- 如果你需要固定错误提示文案为你指定的
Ingrese una fecha valida,最稳妥无坑的方式是直接在表单字段里覆写错误信息,不需要依赖全局翻译配置,示例:
from django import forms class CustomForm(forms.Form): date_field = forms.DateField( error_messages={ 'invalid': 'Ingrese una fecha valida' } )
- 所有配置修改完成后,必须重启Django开发服务器,改动才会生效。
内容的提问来源于stack exchange,提问作者Chizzo
相关产品推荐
相关产品推荐

