django 进行国际化及在后台进行中英文切换

本文介绍了如何在Django项目中实现国际化,包括在settings.py中开启国际化功能、添加中间件和上下文渲染器,更新urls.py,模板文件中的国际化设置,以及生成和编译翻译文件。此外,还讨论了用户在页面上选择语言切换的实现方式,特别是当前端为APP时,通过接口通知后台用户所选语言。
摘要由CSDN通过智能技术生成

项目的部署地为: 中国大陆与美国东海岸, 两个地区的服务器数据不进行同步, 中国地区的服务器页面展示中文, 美国地区的服务器页面展示成英文, 项目后台使用python编程语言进行开发, 并结合django框架进行版本迭代.

这里对项目的国际化进行配置说明:

 

一.在配置文件settings.py中:

1) 开启国际化功能

# 语言, 先设置成中文
LANGUAGE_CODE = 'zh-hans'  # 1.8版本之后的language code设置不同, 1.8之前是LANGUAGE_CODE = 'zh-CN'
# LANGUAGE_CODE = 'en'

# 时区
TIME_ZONE = 'Asia/Shanghai'
# TIME_ZONE = 'UTC'

# Internationalization
# https://docs.djangoproject.com/en/2.1/topics/i18n/
# 开启国际化
USE_I18N = True

# 开启本地化
USE_L10N = True

USE_TZ = True

LANGUAGES = (
   ('en', 'English'),
   ('zh-hans', '中文简体'),
)

# 翻译文件所在目录, 与 manage.py 文件在同级目录下
LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'),
)

2) 添加进行国际化的中间件

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    # 这就是新添加进来的中间件, 注意位置: 需要放置在 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',
]

3) 添加i18n上下文渲染器


                
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值