【问题标题】:URL template tag without locale in Django 1.4Django 1.4 中没有语言环境的 URL 模板标签
【发布时间】:2013-05-19 20:28:04
【问题描述】:

我使用 i18n_patterns 向我的 Django 应用程序添加了特定于区域设置的 URL,它运行良好,但在某些情况下,我需要一个指向没有区域设置信息的视图的 url。

我当前的设置可以使英文页面在路径中没有语言环境,例如:www.foobar.com,但所有其他页面都为 www.foobar.com/et/ 等。这很好用。现在,每个用户在 www.foobar.com/u/123 等都有一个“公开资料”页面。

如果我只是在模板中执行 {% url user_profile_page %},我总是会在 URL 中获得区域设置,但我希望它始终显示非区域设置版本,因为我希望公共配置文件有一个非区域设置的 URL(如果有人使用不同的语言,然后它会重定向到基于区域设置的 URL,这很好)。

没有任何 Django 文档表明 {% url %} 模板标签能够做到这一点,但是有什么吗?

【问题讨论】:

    标签: django url localization


    【解决方案1】:

    在模板代码中,您应该能够通过以下方式使用 {% language %} 标记来指定 url 反转的语言:

    {% language en %}
    <a href="{% url user_profile_page %}">User 1</a>
    {% endlanguage %}
    

    在这种情况下指定英文语言代码应该会导致 url 没有前缀。

    【讨论】:

    • 成功了!至于 django 1.5,请用引号将“en”括起来!
    猜你喜欢
    • 1970-01-01
    • 2012-11-08
    • 2011-09-15
    • 2010-12-19
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    相关资源
    最近更新 更多