Django 如何让heroku像运行collectstatic一样自动运行compilemessages
从翻译源文件名(如Django 如何让heroku像运行collectstatic一样自动运行compilemessages,django,heroku,Django,Heroku,从翻译源文件名(如locale/en/LC\u MESSAGES/django.mo)创建名为locale/en/LC\u MESSAGES/django.po的编译翻译文件 我希望git忽略*.mo文件,而不将其提交到存储库,因为这些文件不是源文件 赫罗库已经知道如何表演了 python manage.py compilemessages 对于django项目 如何使其也执行编译消息 目前,我通过将编译结果文件(*.mo)添加到我的存储库来解决这个问题,但我想知道是否有更好的方法 (如果相关
locale/en/LC\u MESSAGES/django.mo)创建名为locale/en/LC\u MESSAGES/django.po
的编译翻译文件
我希望git忽略*.mo
文件,而不将其提交到存储库,因为这些文件不是源文件
赫罗库已经知道如何表演了
python manage.py compilemessages
对于django项目
如何使其也执行编译消息
目前,我通过将编译结果文件(*.mo
)添加到我的存储库来解决这个问题,但我想知道是否有更好的方法
(如果相关-我的网站的回购协议:)
在项目根目录中创建文件:bin/post\u compile
添加行/manage.py compilemessages
git推送原点
git-push-heroku
当您将分支推送到Heroku时,它现在应该运行该命令。我不确定定制的bin/post_compile
文件是否会覆盖Heroku所做的自动检测,因此如果您发现它不再运行collectstatic
,只需在compilemessages
行下弹出该行,但是将--noinput
添加到行中,这样管理命令就不会提示您键入“是”以确认是否要覆盖现有文件。这对我来说失败,因为Heroku实例上没有安装gettext<代码>找不到msgfmt。确保已安装GNU gettext tools 0.15或更高版本。
我使用gettext构建包安装了gettext:
python manage.py collectstatic