Джанго шаблоны.Я получаю в свои параметры почты, как я могу отправить их в другой HTML с помощью include? - PullRequest
0 голосов
/ 28 декабря 2018

Это мой приветственный контейнер:

<tr>
<td align="center">
    <!-- Start internal container -->
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
            <td height="30" style="line-height:30px; font-size:30px;">&nbsp;</td>
        </tr>
        <tr>
            <td align="left" style="font-family: 'Lato', sans-serif; font-size:20px; line-height:26px;">
                <p style="font-family: 'Lato', sans-serif; margin: 0; padding: 15px 60px 15px 60px; font-weight: bold; color: #333333;">
                    {{ title }}
                </p>
                <p style="font-family: 'Lato', sans-serif; font-size:16px; margin: 0; padding: 0px 60px 0px 60px; color: #333333;">
                    {{ subtitle }}
                </p>
            </td>
        </tr>
    </table>
    <!-- End internal container -->
</td>

Я пробовал это:

  {% "Hi {{first_name}}" as  titleStr%}
  {% with title=titleStr subtitle="Please confirm your email address by clicking this button." %}
      {% include "emails/_parts/welcome_container.html" %}
  {% endwith %}

Но я получаю эту проблему:

Invalid block tag on line 29: '"Hi', expected 'endblock'. Did you forget to register or load this tag?

Что я делаю не так?Строка 29 - это та, которая имеет title = titleStr

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Вы добавили {% "Hi" %} в шаблон, где django рассматривает 'Hi' как тег шаблона, но его нет в django, и поэтому он выдает ошибку.Возможно, вы захотите добавить Hello перед переменной title и передать его другому шаблону.Вы можете сделать это с помощью add шаблона тега.

{% with "Hello "|add:first_name as titleStr %}
     {% include 'emails/_parts/welcome_container.html' with title=titleStr subtitle="Please confirm your email address by clicking this button." %}    
{% endwith %}
0 голосов
/ 28 декабря 2018

вы пишете {% "Hi, и шаблон django знает, что это начало тега блока.Если вы хотите отображать только текст, измените его на "Hi {{first_name}}"

, если вы хотите передать переменную с помощью include, попробуйте следующее:

{% include "emails/_parts/welcome_container.html" with title={{first_name}} %}

документ для include https://docs.djangoproject.com/en/2.1/ref/templates/builtins/#include

...