Django blocktrans外部u

2024-06-02 12:58:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用django框架构建一个web应用程序。在我的一个模板中,我想添加一个指向外部URL的超链接。在

在这个模板中,我需要两种语言,所以我决定使用django blocktrans标记。从the django documentation),我只能将内部URL作为URL。CMIIW公司。在

如何放置外部URL?在

这是模板.html英语。我把http://external/docs/en/作为超链接

{% blocktrans %}
Hello, how are you? <a href="http://external/docs/en/" target="new">Lorem ipsum</a>. The quick brown fox jumps over the lazy dog.
{% endblocktrans %}

而对于德语,我需要将http://external/docs/de/作为超链接

^{pr2}$

而django文档中的示例仅用于内部URL。在

{% if LANGUAGE_CODE == 'en' %}
  {% url 'views.doc.en' as urldoc %}
{% else %}
  {% url 'views.doc.de' as urldoc %}
{% endif %}
{% blocktrans %}
Hello, how are you? <a href={{ urldoc }} target="new">Lorem ipsum</a>. The quick brown fox jumps over the lazy dog.
{% endblocktrans %}

Tags: thedjangoyou模板httpurldocshello
2条回答

到目前为止,我的解决方案是在views.py创建函数,它将重定向到外部URL。在

@login_required
def doc_en():
    return HttpResponseRedirect('http://external/docs/en')

@login_required
def doc_de():
    return HttpResponseRedirect('http://external/docs/de')

您可以直接在模板中使用带有{{ LANGUAGE_CODE }}的语言代码,并将其添加到url中。例如:

{% blocktrans %}
Hello, how are you? <a href=http://external/docs/{{ LANGUAGE_CODE }}/ target="new">Lorem ipsum</a>. The quick brown fox jumps over the lazy dog.
{% endblocktrans %}

当用户选择了英语时,{{ LANGUAGE_CODE }}将是{}。如果用户选择了德语,{{ LANGUAGE_CODE }}将是{}

因此,链接将是:

相关问题 更多 >