Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何让heroku像运行collectstatic一样自动运行compilemessages_Django_Heroku - Fatal编程技术网

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