You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django国际化应用部署Gunicorn报错:KeyError: 'translate'

Django + Gunicorn 下 {% translate %} 标签 KeyError 排查建议

核心排查步骤

  • 检查模板i18n配置是否生效

    • 打开settings.py,确认TEMPLATES的OPTIONS里配置了'builtins': ['django.templatetags.i18n'],或者所有用到{% translate %}的模板顶部都写了{% load i18n %}
    • 确认USE_I18N = True,且Gunicorn启动时未被环境变量或自定义配置覆盖该设置
  • 核对Gunicorn与开发服务器的运行环境

    • 执行which gunicorn和which python,确认两者属于同一个虚拟环境,避免Gunicorn使用系统默认Python导致依赖缺失
    • 启动Gunicorn时显式指定配置模块:gunicorn --env DJANGO_SETTINGS_MODULE=Main_Project.settings Main_Project.wsgi,规避路径错配问题
  • 验证翻译文件状态

    • 确认LOCALE_PATHS指向的目录中存在编译后的.mo文件,若未编译,执行django-admin compilemessages生成
    • 启动前运行python manage.py check --deploy,让Django自动排查配置或翻译文件的潜在问题
  • 检查WSGI应用初始化逻辑

    • 确保wsgi.py为默认写法,不要修改Django的i18n初始化流程,正常代码应为:
import os
from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Main_Project.settings')
application = get_wsgi_application()
  • 尝试单worker启动:gunicorn --workers 1 Main_Project.wsgi,排除多进程加载异常的可能

  • 抓取完整错误日志

    • 启动Gunicorn时添加日志参数:gunicorn --access-logfile - --error-logfile - Main_Project.wsgi,查看完整错误栈,确认是否因模板标签未加载导致报错

内容的提问来源于stack exchange,提问作者Crandy9

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:03:36