Что ж, здесь я нахожу решение, используя javascript в HTML файл
Я просто использую переменные Jinja, используемые в javascript, и устанавливаю атрибут sr c пустым по умолчанию
Он будет загружать видео условно, в соответствии с типом мобильного или настольного устройства.
ПРИМЕЧАНИЕ: убедитесь, что оно должно быть ниже кода HTML, так как классы и его элементы должны загружаться первыми, иначе он выдаст ошибка
(function () {
const bgv = document.querySelector(".video-bg-desktop");
const bgvMobile = document.querySelector(".video-bg-mobile");
if (window.innerWidth > 850) {
const children = bgv.children[0].children;
for (let i = 0; i < children.length; ++i) {
if (children[i].type === "video/mp4") {
children[i].src = "{{ video_mp4 }}";
}
if (children[i].type === "video/webm") {
children[i].src = "{{ video_webm }}";
}
}
} else {
const children = bgvMobile.children[0].children;
for (let i = 0; i < children.length; ++i) {
if (children[i].type === "video/mp4") {
children[i].src = "{{ video_mp4_mobile }}";
}
if (children[i].type === "video/webm") {
children[i].src = "{{ video_webm_mobile }}";
}
}
}
})();