通过Django模板检测模板中使用的语言[关闭]

Posted

技术标签:

【中文标题】通过Django模板检测模板中使用的语言[关闭]【英文标题】:Detecting the language used in template by Django Template [closed] 【发布时间】:2015-06-19 16:09:06 【问题描述】:

Django是否有可能意识到模板中使用了哪种语言并更改html方向的元素并对齐?例如,有时我想在一个元素中使用波斯语,而另一次我想在那里使用英语,它们都是由数据库获取的。 另外我不想一一操作每个元素;我想要整个模板的通用解决方案。

<p style="direction: ltr">Hi!<p>

有时:

<p style="direction: rtl">Hi!<p>

【问题讨论】:

Django: How to get language code in template?的可能重复 【参考方案1】:

是的,你可以。 例如,在您的模板中

% load i18n %
...
% get_current_language as LANGUAGE_CODE %

% if LANGUAGE_CODE == 'en' %
<div class='one-direction'>test</div>
% else %
<div class='another-direction'>test</div>
% endif %

在您的 css 文件中为类添加样式。

了解更多关于获取语言代码的信息:

Django: How to get language code in template?

== 更新 ==

@利他主义, 将动态 css 类添加到 body 元素并为 p 元素添加样式。例如:

body.one-direction p:  direction: rtl
body.another-direction p:  direction: ltr

所以,你只需要检查一次语言

【讨论】:

这是一个很好的解决方案,但是,对每个元素都这样做有点费时,没有通用的解决方案吗? @altruistic ,如果您想为您的问题添加更多信息,我们会考虑其他选项。事实上,这是您问题的最佳答案。 @rnevius,感谢您的不灵活!

以上是关于通过Django模板检测模板中使用的语言[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Django中模板总结[模板语言,模板继承,CSRF攻击,反向解析]

如何通过变量/方法将Django模板代码注入模板?

django模板语言之Template

Django模板中的Python [关闭]

关闭Django模板的自动转义

Django:如何在模板中获取语言代码?