如何使 heroku 自动 运行 编译消息就像它 运行s collectstatic
How to make heroku automatically run compilemessages just as it runs collectstatic
python manage.py compilemessages
从 locale/en/LC_MESSAGES/django.po
.
等翻译源文件名称创建名为 locale/en/LC_MESSAGES/django.mo
的已编译翻译文件
我想让 *.mo
文件被 git 忽略并且不提交到存储库,因为这些不是源文件。
Heroku 已经知道要执行
python manage.py collectstatic
对于 django 项目。
如何让它也执行 compile messages
?
目前我通过将编译结果文件 (*.mo
) 添加到我的存储库来解决这个问题,但我想知道是否有更好的方法。
(如果相关 - 我网站的回购:https://github.com/yairchu/vote_tool)
- 在您的项目根目录中创建一个文件:
bin/post_compile
- 添加行
./manage.py compilemessages
git push origin
git push heroku
当您将分支推送到 Heroku 时,它现在应该 运行 该命令。我不确定自定义 bin/post_compile
文件是否会覆盖 Heroku 所做的自动检测,所以如果您发现它不再是 运行ning collectstatic
,只需将该行弹出到您的下方compilemessages
行,但将 --noinput
添加到该行,这样管理命令就不会提示您键入 "Yes" 来确认您要覆盖现有文件。
python manage.py compilemessages
从 locale/en/LC_MESSAGES/django.po
.
locale/en/LC_MESSAGES/django.mo
的已编译翻译文件
我想让 *.mo
文件被 git 忽略并且不提交到存储库,因为这些不是源文件。
Heroku 已经知道要执行
python manage.py collectstatic
对于 django 项目。
如何让它也执行 compile messages
?
目前我通过将编译结果文件 (*.mo
) 添加到我的存储库来解决这个问题,但我想知道是否有更好的方法。
(如果相关 - 我网站的回购:https://github.com/yairchu/vote_tool)
- 在您的项目根目录中创建一个文件:
bin/post_compile
- 添加行
./manage.py compilemessages
git push origin
git push heroku
当您将分支推送到 Heroku 时,它现在应该 运行 该命令。我不确定自定义 bin/post_compile
文件是否会覆盖 Heroku 所做的自动检测,所以如果您发现它不再是 运行ning collectstatic
,只需将该行弹出到您的下方compilemessages
行,但将 --noinput
添加到该行,这样管理命令就不会提示您键入 "Yes" 来确认您要覆盖现有文件。