2014-06-27 11 views
9

Sau khi chạy lệnh runserver tôi nhận được lỗi sau:django TemplateSyntaxError không hợp lệ khối tag: 'xuyên'

TemplateSyntaxError at /questions/ Invalid block tag: 'trans'

Không ai biết rằng lý do là gì?

Đây là mẫu cú pháp của tôi:

 {% 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 --> 
+2

Bạn đã quên '{% tải i18n%}' chưa? –

Trả lời

21

{% trans %}Questions{% endtrans %} không phải là định dạng đúng.

{% load i18n %} phải ở đầu mẫu của bạn hoặc bất kỳ mẫu mở rộng nào sử dụng bản dịch.

Bạn có thể sử dụng {% trans "Questions." %}

Nếu bạn đang đi để sử dụng khối, họ cần phải theo định dạng dưới đây:

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

Thông tin thêm here.

+0

Bạn đã kiểm tra các mẫu khác chưa? Bạn có thể vui lòng cung cấp đầu ra từ tệp gỡ lỗi không? – chirinosky

+0

'{% load i18n%}' phải ở trên cùng của mẫu hiện tại. ** và tất cả các mẫu mở rộng ** !!! cũng phải sử dụng '{% blocktrans%} Qusetion {% endblocktrans%}' thay vì '{% rans%} Qusetion {% endtrans%}' cảm ơn sự giúp đỡ của bạn! – Kasramvd

+0

Vui vì bạn đã làm việc đó. Tôi sẽ cập nhật câu trả lời để làm rõ phần '{% load i1in%}'. – chirinosky

3

Có thể bạn nên sử dụng {% blocktrans %}Questions{% endblocktrans %} và bạn quên đặt {% load i18n %} về phía đầu mẫu của bạn.

+0

cố gắng sử dụng '{% blocktrans%} câu hỏi {% endblocktrans%}' thay vì '{% trans%} câu hỏi {% endtrans%}' hoặc '{% trans" câu hỏi "%}' và xóa '{% endtrans% } ' –

+0

tôi thử nó nhưng nó tăng cùng một lỗi !!!! – Kasramvd

1

Bạn phải đặt ở phần đầu của mẫu mã mở rộng của bạn: {% load i18n %}, vì vậy bạn có thể sử dụng Thẻ xuyên:

{% 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 %} 
1

này là bởi vì bạn đã không được nạp i18n trong template này {% load i18n %} bạn phải thêm này trong mỗi mẫu của bạn.

Các vấn đề liên quan