首页 > 解决方案 > 在 heroku 环境中部署 Django 项目并且翻译不起作用

问题描述

182/5000 我在使用 Django 的默认翻译时遇到问题,在开发环境中它工作正常,但在 Heroku 上完成部署时它不起作用。以下是我执行的步骤:

我的环境 URL:https ://portalbigidea.herokuapp.com/

在我的 heroku 环境中,这是 django .mo,如下所示:

您在 Heroku 环境中设置以下 buildpack:
heroku buildpacks:set https://github.com/piotras/heroku-buildpack-gettext.git

$ heroku 运行 ls locale/en/LC_MESSAGES

在 portalbigidea 上运行 ls locale/en/LC_MESSAGES... up, run.3990 (免费)
django.mo django.po
在 portalbigidea 上运行 ls locale/pt_BR/LC_MESSAGES... up, run.8258 (免费)
django.mo django .po

设置/base.py

ALLOWED_HOSTS = ["localhost", "127.0.0.1", ".herokuapp.com"]

INSTALLED_APPS =
'django_adminlte',
'django_adminlte_theme',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'whitenoise.runserver_nostatic',
'django.contrib.staticfiles',
]

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common。 CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

数据库 = {'default': dj_database_url.config(conn_max_age=500, ssl_require=True)}

CORS_REPLACE_HTTPS_REFERER = True
HOST_SCHEME = "https://"
SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", 'https')
SECURE_SSL_REDIRECT = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
SECURE_HSTS_SECONDS0000SECURE_FRAMEDENY =
10000

STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")

STATICFILES_DIRS = [os.path.join(BASE_DIR, "staticfiles")]

STATICFILES_STORAGE = whitenoise.storage.CompressedManifestStaticFilesStorage'

从 django.utils.translation 导入 ugettext_lazy 作为 _

LOCALE_PATHS = (BASE_DIR + '\locale',)

USE_I18N = 真
USE_L10N = 真
USE_TZ = 真
TIME_ZONE = 'UTC'

LANGUAGE_CODE = 'pt-br'

LANGUAGES = (
('en', _('English')),
('pt-br', _('巴西葡萄牙语')),
)

我很感谢所提供的所有帮助,如果我找到了解决这种情况的方法,我会在下面的帖子中告知。

本地环境(开发)中的预期和预期响应:
在此处输入图像描述

在此处输入图像描述

在 Herokul 云 (Prod) 中的 Heroku 环境中收到的响应:
在此处输入图像描述

标签: djangoheroku

解决方案


推荐阅读