django – 如何使heroku自动运行compilemessages,就像它运行collectstatic一样

python manage.py compilemessages

从翻译源文件名称(如locale / en / LC_MESSAGES / django.po)创建名为locale / en / LC_MESSAGES / django.mo的已编译翻译文件.

我想让git忽略* .mo文件而不是提交到存储库,因为它们不是源文件.

Heroku已经知道要表演了

python manage.py collectstatic

对于Django项目.

如何让它也执行编译消息?

目前我通过将编译结果文件(* .mo)添加到我的存储库来解决此问题,但我想知道是否有更好的方法.

(如果相关 – 我网站的回购:https://github.com/yairchu/vote_tool)

最佳答案 >在项目根目录中创建一个文件:bin / post_compile

>添加./manage.py compilemessages行

> git推动起源

> git push heroku

当您将分支推送到Heroku时,它现在应该运行该命令.我不确定自定义bin / post_compile文件是否会覆盖Heroku所做的自动检测,所以如果你发现它不再运行collectstatic,只需在compilemessages行下面弹出该行,但是在行中添加–noinput因此管理命令不会提示您键入“是”以确认您要覆盖现有文件.

点赞