2014-01-15 4 views
2

Я попытался выполнить поиск, но не смог найти ответа на этот вопрос, в хрустящих формах Django есть HTML-макет Object, который позволяет вам вводить настраиваемый HTML в вашу форму, я работаю над CreateView Форма, которая реализует некоторое произвольное создание соответствующих элементов, я впрыснуть HTML под мое полем следующим образом:Django Crispy forms и i18n в HTML-макете

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

Моя проблема заключается в том, что хотя URL теги работают нормально, транс-теги не разбирается в хрустящих формах, есть в альтернатива (возможно, в хрустящих формах?) для поддержания i18n? В шаблоне формы есть собственно i18n загрузка тегов:

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

ответ

4

Так как вы пытаетесь сделать это в каком-.py файла (как я понял), то почему бы вам возиться с templatetags - использовать питон.

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) 
+0

Не думал об этом, собираюсь проверить его и вернуться! Благодаря! – petkostas

+0

Если эта строка дает вам ошибку относительно переводов или вы видите прокси-объект в строке вместо переведенного текста, то измените метод ugettext_lazy (_) для ugettext. должен работать: P. Я всегда смешиваю их ... –

+0

Работает отлично! Спасибо! – petkostas

Смежные вопросы