как передать переменную из включенного шаблона в шаблон, где он включен?

В Django Просмотров: –

if request.is_ajax(): t = get_template('bar-templates.html') html = t.render(Context({'edit': True, 'user':'some-user' })) return HttpResponse(html) 

Существует два шаблона: Основной шаблон (foo-templates.html) который включает в себя шаблон (bar-templates.html) . В контексте edit и user передается bar-templates.html Но эта переменная также используется в foo-templates.html . В django мы использовали {{ edit }} чтобы поймать переменную. Поскольку эта переменная содержится в bar-templates.html . Как я могу использовать это для foo-templates.html .

  • Как получить доступ к объекту запроса или любой другой переменной в методе clean () формы?
  • Django: CSS Не работает
  • Как я могу превратить объекты Django Model в словарь и все еще иметь свои внешние ключи?
  • Используя PyCharm Professional и Vagrant, как мне запустить сервер Django?
  • Установите mysql-python (Windows)
  • Получение количества гостей при бронировании django
  • Foo-templates.html:

     {% extends "base.html" %} <div class="container"> {{ edit }} // Here I am not getting the edit value {% if edit %} // I need this edit value. But this value is in context with `bar-templates.html` do something {% else %} do something {% endif %} <div class="content"> {% include "bar-templates.html" %} </div> 

    бар-templaes.html

    {{edit}} // Здесь Он дает мне значение редактирования. Это шаблоны, которые я отправляю из представлений.

    Как использовать included template значения переменной included template в шаблон, в который он входит.

  • Pycharm: установить переменную среды для запуска manage.py Task
  • Определение и реализация алгоритма трендов в Django
  • Как заставить Django игнорировать любые кеши и перезагружать данные?
  • Избегая условий гонки, Django + Heroku + PostgreSQL
  • Внешний ключ из одного приложения в другое в Django
  • Django: развертывание приложения на Heroku с sqlite3 в качестве базы данных
  • 2 Solutions collect form web for “как передать переменную из включенного шаблона в шаблон, где он включен?”

    Используя данные из другого сообщения, которое вы должны изменить, чтобы включить в него:

    Из того, что я могу сказать, вы пытаетесь добавить «выбранный» класс в свое меню боковой панели. Это не сработает для вас, потому что, как сказал gcbirzan, вы не сможете получить контекст вашего ответа ajax в ваш базовый шаблон. Кроме того, вы не собираетесь повторно создавать базовый шаблон, чтобы он не менялся.

    Используя javascript, вы можете извлечь foo_id из вашего part.html . Поскольку этот код не отображается, скажем, что у вас есть foo_id в скрытом div, <div id="foo_id" style="display:none;">foo_2</div>

    Теперь вы можете изменить свою функцию ajax примерно так:

     $.ajax({ type:'GET', cache: 'false', url:"/foobar/", success:function(data) { $('#main-content').html(data); var $foo_id = $('#foo_id').val(); $('#foo1>ul>li.selected').removeClass('selected'); $('#'+ foo_id).addClass('selected'); } }); 

    Если вы просто визуализируете foo:

     t = get_template('foo-templates.html') html = t.render(Context({'edit': True, 'user':'some-user' })) 

    то «foo» и включенный «бар» имеют одинаковое значение для «редактирования».

    Я не совсем понимаю ваш вопрос, но я ответил?

    Python - лучший язык программирования в мире.