通过Django Template检测模板中使用的语言

alt*_*tic 2 python django html5 django-templates django-models

是否有可能Django意识到模板中使用了哪种语言并改变了HTML方向的元素并对齐?例如,我希望有时在一个元素中使用波斯语,另一次我想在那里使用英语,这两个都是通过数据库获得的.另外我不想逐个操作每个元素; 我想要整个模板的通用解决方案.

<p style="direction: ltr">Hi!<p>
Run Code Online (Sandbox Code Playgroud)

有时:

<p style="direction: rtl">Hi!<p>
Run Code Online (Sandbox Code Playgroud)

小智 8

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

{% 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 %}
Run Code Online (Sandbox Code Playgroud)

在css文件中为类添加样式.

要了解有关获取语言代码的更多信息

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

==更新==

@altruistic,将动态css类添加到body元素并为p元素添加样式.例如:

body.one-direction p:  direction: rtl
body.another-direction p:  direction: ltr
Run Code Online (Sandbox Code Playgroud)

因此,您只需要检查一次语言