django html 模板语言,Django:如何获取模板中的语言代码?

如果它不存在,你需要写一个

template context processor.这里是你怎么做。

把这个地方:

def lang_context_processor(request):

return {'LANG': request.LANGUAGE_CODE}

from django.conf import global_settings

TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (

'myproject.myapp.templatecontext.lang_context_processor',

)

(我建议添加到全局设置,因为这意味着当新的上下文处理器添加到默认值时,不会意外地中断事件。)

但是,它确实存在,作为内置模板上下文处理器django.core.context_processors.i18n.您可以访问它作为LANGUAGE_CODE。

纯粹为了兴趣,这里的功能的定义:

def i18n(request):

from django.utils import translation

context_extras = {}

context_extras['LANGUAGES'] = settings.LANGUAGES

context_extras['LANGUAGE_CODE'] = translation.get_language()

context_extras['LANGUAGE_BIDI'] = translation.get_language_bidi()

return context_extras

确保你使用RequestContext为你的模板渲染,而不是一个纯粹的上下文,否则它不会工作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值