почему django загружает фактически содержимое шаблона?

#django #django-templates

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

Вопрос:

после runsrever мой браузер показывает это:**

 > {% set enabled_scopes_class = 'scopes-'  
> '%s'|format(settings.ALL_SCOPE_ENABLED)   '-'  
> '%s'|format(settings.UNANSWERED_SCOPE_ENABLED)   '-'  
> '%s'|format((request.user.is_authenticated() and
> settings.FOLLOWED_SCOPE_ENABLED)) %} {# Some or all contents of this
> div may be dropped over the search bar via negative margins, to make
> sure that the search bar can occupy 100% of the content width. Search
> bar may have padding on the left and right to accomodate the buttons.
> `#}{# three buttons below are in the opposite order because they are
> floated at the right #}`
 

Пожалуйста, укажи мне правильный путь к достижению моей цели.

Ответ №1:

Причина, по которой вы видите необработанный код при рендеринге шаблона, заключается в том, что операторы должны быть в одной строке, как теги, так и комментарии.

Для многострочных комментариев вы можете использовать comment тег:

 {% comment %}
Some or all contents of this
div may be dropped over the search bar via negative margins, to make
sure that the search bar can occupy 100% of the content width. Search
bar may have padding on the left and right to accomodate the buttons.
three buttons below are in the opposite order because they are
floated at the right
{% endcomment %}
 

Что касается вашего set заявления: Я не знаю ни о каком set заявлении (это сторонний тег?), Но язык шаблонов по своей конструкции далеко не такой мощный, как код Python. Использование круглых скобок для группирования операторов запрещено, и вы не можете вызывать функции с аргументами так же, как вы можете делать это в python. Вы также не можете объединять значения с и format не является определенным шаблонным фильтром. Я бы посоветовал вам ознакомиться с шаблонами в документации.

Более продвинутая логика, подобная тому, что вы пытаетесь сделать здесь, должна выполняться в функции просмотра и передаваться в контекст шаблона.

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

1. проблема не в многострочных комментариях! когда я удаляю все комментарии, они снова отображают содержимое шаблона! это проблема в моем вызове в родительском шаблоне или в этом шаблоне? это часть базового шаблона (браузер показывает secondary_header.html ) : {% включает «custom_header.html » %} {%, если настройки. CUSTOM_HEADER != » %} <идентификатор div=»пользовательский заголовок»> {{настройки. CUSTOM_HEADER}} </div> {% endif %} {% include «widgets/header.html » %} {# Логотип, навигация по пользовательским инструментам и мета-навигация #} {% включают «widgets/secondary_header.html » %}

2. @bluebird7 А как насчет set тега? Является ли полный тег (от {% до %} ) в одной строке?

3. да, я пишу блок в 1 строке, это сделано! большое спасибо ! бот после этого браузера не показывает никаких мыслей… у меня нет идеи попытаться найти проблему!!!

Ответ №2:

Вероятно, вы не отображали свой шаблон

попробуйте что-то вроде:

 from django.shortcuts import render

def myview(request):

    return render(request, 'path/template.html', {})
 

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

1. нет, я это делаю ……..! я думаю, что без рендеринга браузер ничего не поднимает!!!