Django - как использовать Jinja для расширения различных заголовков в html-файле? [Дубликат]

Атрибут id должен быть уникальным, иначе всегда выбирается только первый. Поэтому используйте class для группы элементов и перебирайте их для присоединения обработчика события.

<script>
  var video = document.getElementsByClassName('vid');
  // convert the element collection to array using Array.from()
  // for older browser use `[].slice.call()` for converting into array
  // and iterate over the elements to attach listener
  Array.from(video).forEach(function(v) {
    v.addEventListener('ended', function() {
      v.currentTime = 0; // or use `this` to refer the element
      v.load();
    });
  })
</script>
62
задан S.Lott 21 March 2011 в 21:51
поделиться

4 ответа

Используйте переменную.

{% extends base_template %}

и в своем представлении установите ее в «base.html» в своем представлении или новый файл «ajax.html», который просто предоставляет блок и ничего иначе.

77
ответ дан Daniel Roseman 20 August 2018 в 14:40
поделиться
  • 1
    Одна проблема: это прерывает автономное сжатие django-компрессора. – Ken Kinder 1 July 2016 в 21:15

Другие ответы требуют, чтобы вы передали дополнительную переменную контекста. Но пока вы можете получить доступ к объекту запроса, нет необходимости:

{% extends request.is_ajax|yesno:"app/base_ajax.html,app/base.html" %}

Я нашел, что это намного удобнее.

114
ответ дан Cruel 20 August 2018 в 14:40
поделиться
  • 1
    Любой способ включить {% block 'someblock' %} в аналогичный динамический способ? – agconti 27 August 2013 в 18:39
  • 2
    Очень хорошо для взлома сторонних приложений :) – Nikolay Fominyh 8 January 2014 в 14:24
  • 3
    Супер удобно, мы тестируем A / B и развертываем новый пользовательский интерфейс, а переменный маршрут вызовет массу работы. Вы заслуживаете зеленой проверки, так как это отвечает на вопрос. – Marc 23 June 2015 в 20:38
  • 4
    Это решает проблему сжатия автономного django-компрессора. – Theo Kouzelis 14 February 2018 в 15:52
  • 5
    @TheoKouzelis, как решить проблему сжатия? По моему мнению, в этом случае django-compressor создаст кэш для случая app/base.html, но не для app/base_ajax.html, который не будет работать при попытке загрузить кешированный шаблон (без ключа в сгенерированном автономном манифесте). – interDist 24 April 2018 в 10:13
{% extends override_base|default:'base.html' %}

P.s. Я знаю, что это старый вопрос, но я нашел его при поиске ответа. Возможно, это поможет кому-то другому с той же проблемой.

20
ответ дан mehmet 20 August 2018 в 14:40
поделиться

Вы можете использовать {% extends variable%}

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

http: // docs .djangoproject.com / о / DEV / реф / шаблоны / встроенные функции /? с = olddocs # продолжается

7
ответ дан Tom Gruner 20 August 2018 в 14:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: