【问题标题】:Django Crispy forms and i18n in HTML LayoutHTML 布局中的 Django Crispy 表单和 i18n
【发布时间】:2014-02-03 18:14:26
【问题描述】:

我尝试搜索但找不到任何答案,在 Django 脆表单中有一个 HTML 布局对象,它允许您将自定义 HTML 注入表单,我正在开发一个 CreateView 表单,它实现了一些相关的任意创建元素,我通过以下方式在我的字段下注入 HTML:

HTML(
'''<p class="add">
      <a href="{% url 'manager-add-category' %}">{% trans 'Add a category' %}</a>
   </p>'''
),

我的问题是,虽然 url 标签可以正常工作,但 trans 标签不能在脆形式中解析,是否有替代方案(可能在脆形式中?)来维护 i18n? 在表单模板中有适当的 i18n 标签加载:

{% load i18n %}
{% load crispy_forms_tags %}

【问题讨论】:

    标签: django django-forms django-crispy-forms


    【解决方案1】:

    既然您试图在某个 .py 文件中执行此操作(据我了解),那么您为什么还要使用模板标签 - 使用 python。

    injected_html = u"<p class='add'><a href='%(url)s'>%(translation)s</a></p>" % {'url':some_get_url_method(), 'translation':_(u"Add a category")}
    
    HTML(injected_html)
    

    【讨论】:

    • 没想到,去查一下再回来!谢谢!
    • 如果此行给您关于翻译的错误,或者您在字符串中看到代理对象而不是翻译文本,则更改 ugettext_lazy (_) 方法为 ugettext。应该工作:P。我总是把这些混在一起......
    猜你喜欢
    • 2013-07-21
    • 2012-06-16
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 2012-07-03
    • 2014-05-31
    • 1970-01-01
    相关资源
    最近更新 更多