2013-11-29 2 views
6

мне нужно пройти следующую в включаемом шаблон через Django include тег:Django шаблоны: включают шаблон прохождение переведенных переменную

{% include 'btn.html' with 
    btn_text='Hi '|add:first_name|add:' - Verify Email Now' 
    btn_url=verify_url 
%} 

Поэтому я могу рассечь весь вопрос в двух частях:

A. Можно ли добавить в строку first_name в другой, более элегантный, способ на уровне шаблона?

B. Мне нужно иметь строку переведенный на уровне шаблона - это возможно?

I.e. что я намерен делать (но не синтаксически правильно) является ниже:

{% include 'btn.html' with 
    btn_text= 
     {% blocktrans first_name as first_name %} 
      Hi {{first_name}} - Verify Email Now 
     {% endblocktrans %} 
    btn_url=verify_url 
%} 

ответ

-1

Для форматирования строки, вы могли бы сделать это с точки зрения и передать его в контексте:

context = {'btn_text': 'Hi {0} - Verify Email Now'.format(first_name)} 
return HttpResponse(context=context) 

Для перевода текста, смотрите по следующей ссылке:
https://docs.djangoproject.com/en/1.2/topics/i18n/internationalization/#trans-template-tag

+0

нужно сделать это полностью на уровне шаблона. Тем не менее, спасибо за ваше предложение. –

+0

Если вы действительно хотите сделать это на уровне шаблона, я бы предложил вам создать [настраиваемый тег шаблона] (https://docs.djangoproject.com/en/dev/howto/custom-template-tags/), и это потому, что django не предоставляет шаблонный тег для форматирования строк. – Arpit

5

Я нашел решение в этом post:

Вот приведенный пример:

{% trans "Load more promotions" as promotions %} 
{% include "a_dir/stuff.html" with text=promotions %} 
Смежные вопросы