django TemplateSyntaxError Недопустимый тег блока: ‘trans’

#django #django-templates

#django #django-шаблоны

Вопрос:

После выполнения runserver команды я получаю следующую ошибку:

Ошибка TemplateSyntaxError в / вопросы/ Недопустимый тег блока: ‘trans’

Кто-нибудь знает, в чем причина?

Это мой синтаксис шаблона:

      {% extends "two_column_body.html" %}
{# 
    this template is split into several
    blocks that are included here
    the blocks are within directory templates/main_page
    relative to the skin directory

    there is no html markup in this file
#}
<!-- questions.html -->
{% block forejs %}
    {% include "main_page/custom_head_javascript.html" %}
{% endblock %}
{% block title %}{% spaceless %}{% trans %}Questions{% endtrans %}{% endspaceless %}{% endblock %}
{% block content %}
    {% include "main_page/tab_bar.html" %}
    {% include "main_page/headline.html" %}
    {# ==== BEGIN: main_page/content.html === #}
    <div id="question-list">
        {% include "main_page/questions_loop.html" %}
    </div>
    {# ==== END: main_page/content.html === #}
    {% include "main_page/paginator.html" %}
{% endblock %}
{% block sidebar %}
    {% include "main_page/sidebar.html" %}
{% endblock %}
{% block endjs %}
    <script type="text/javascript">
        {# cant cache this #}
        askbot['settings']['showSortByRelevance'] = {{ show_sort_by_relevance|as_js_bool }};
        askbot['messages']['questionSingular'] = '{{ settings.WORDS_QUESTION_SINGULAR|escapejs }}';
        askbot['messages']['answerSingular'] = '{{ settings.WORDS_ANSWER_SINGULAR|escapejs }}';
        askbot['messages']['acceptOwnAnswer'] = '{{ settings.WORDS_ACCEPT_OR_UNACCEPT_OWN_ANSWER|escapejs }}';
        askbot['messages']['followQuestions'] = '{{ settings.WORDS_FOLLOW_QUESTIONS|escapejs }}';
    </script>
    {% include "main_page/javascript.html" %}
    {% include "main_page/custom_javascript.html" %}
{% endblock %}
<!-- end questions.html -->
 

Комментарии:

1. Вы забыли {% load i18n %} ?

Ответ №1:

{% trans %}Questions{% endtrans %} неверный формат.

{% load i18n %} должен быть в верхней части вашего шаблона или любого расширенного шаблона, использующего переводы.

Вы можете использовать {% trans "Questions." %}

Если вы собираетесь использовать блоки, они должны быть в приведенном ниже формате:

 {% blocktrans %}{{ value2translate }}{% endblocktrans %}
 

Дополнительная информация здесь.

Комментарии:

1. Вы проверили другие шаблоны? Не могли бы вы предоставить выходные данные из файла отладки?

2. {% load i18n %} должен быть вверху текущего шаблона.** и все расширенные шаблоны ** !!! также необходимо использовать {% blocktrans %}Qusetion{% endblocktrans %} вместо {% rans %}Qusetion{% endtrans %} спасибо за вашу помощь!

3. Рад, что у вас все получилось. Я обновлю ответ, чтобы уточнить {% load i1in %} часть.

4. ссылка больше не действительна, пожалуйста, отредактируйте или удалите ссылочную ссылку

Ответ №2:

Вероятно, вам следует использовать {% blocktrans %}Questions{% endblocktrans %} , и вы забыли поместить {% load i18n %} в начало своего шаблона.

Комментарии:

1. попробуйте использовать {% blocktrans %}Questions{% endblocktrans %} вместо {% trans %}Questions{% endtrans %} или {% trans "Questions" %} и удалить {% endtrans %}

Ответ №3:

это связано с тем, что вы не загрузили i18n в этот шаблон {% load i18n %} , вы должны добавить это в каждый свой шаблон.

Ответ №4:

Вы должны поместить в начале вашего расширенного кода шаблона: {% load i18n %} , чтобы вы могли использовать теги trans:

 {% extends 'home/base.html' %}

{% block title %}INICIO{% endblock %}
{% load i18n %}


  {% block opcionesMenu %}
<!-- =====START====== -->
            <a href="#sTop" class="subNavBtn">{% trans "Inicio"  %}</a>
            <a href="#s1" class="subNavBtn">{% trans "Proyectos" %}</a>
            <a href="#s2" class="subNavBtn">{% trans "Diseño Web" %}</a>
            <a href="#s3" class="subNavBtn">{% trans "Marketing" %}</a>
            <a href="#s4" class="subNavBtn">{% trans "Conocenos" %}</a>
            <a href="#s5" class="subNavBtn">{% trans "Contacto" %}</a>
<!-- =====END ====== -->
 {% endblock %}