django - Django i18n 翻译在生产中不起作用(Heroku)
问题描述
我的翻译在本地工作,但在 Heroku 的生产中,我的网站在更改语言后仍保持其默认语言(英语)。
这些在我的settings.py
文件中:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
USE_I18N = True
USE_L10N = True
LOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]
这是我的结构:
myproject
├── Procfile
├── locale
│ └── fr
│ └── LC_MESSAGES
│ ├── django.mo
│ └── django.po
├── myproject
│ ├── __init__.py
│ └── settings.py
我认为这是一个路径问题,所以我通过 SSH 连接到我的 Heroku 应用程序并打印LOCALE_PATHS
:
>>> from myproject.settings import LOCALE_PATHS
>>> print(LOCALE_PATHS)
['/app/locale']
而pwd
在locale/
回报pwd
/app/locale
。
我做错什么了?
解决方案
我发现了问题:
我的django.mo
文件被忽略了,.gitignore
因为我使用了默认的 GitHub Python gitignore 文件。
推荐阅读
- sql - 如何从如下列表中查询:[1,1,1,2,3,4,2,2,5,3]
- matlab - 在 MATLAB 中选择特定日期间隔的方法
- opengl - Compute Shader 只写入一个像素
- django - 没有 sendgrid 的 Django 联系页面
- python - 计算测验分数
- angular - 在ionic 5中的页面之间传递数据
- elasticsearch - 如何在 elasticsearch 的脚本分数中使用 More-like-this 计算分数?
- ruby-on-rails - 更新另一个字段以及 rails 中的 increment_counter 方法
- javascript - 如何在 material-ui/DatePicker 中设置时区
- regex - 正则表达式提取县和邮政编码