{{MEDIA_URL}} с Django и Ember.js

77
7

У меня есть следующий шаблон руля:

{% handlebars "header" %}
<div class="header row-fluid">
<div class="logo"> <a href="index.html"><span>Welcome!</span><span class="icon"></span></a> </div>
<div class="top_right">
<ul class="nav nav_menu">
<li class="dropdown"> <a class="dropdown-toggle administrator" id="dLabel" role="button" data-toggle="dropdown" data-target="#" href="/page.html">
<div class="title"><span class="name">George</span><span class="subtitle">Awesome Developer</span></div>
<span class="icon"><img src="{{MEDIA_URL}}images/dashboard/thumbnail_george.jpg"></span></a>
</li>
</ul>
</div>
<!-- End top-right -->
</div>
{% endhandlebars %}

Проблема в том, что {{MEDIA_URL}}, конечно, вне контекста, поэтому я не могу отображать мои изображения. Я попытался использовать bindAttr для src, но проблема все еще там. Как мне решить эту проблему.

С другой стороны, этот шаблон является статическим в том смысле, что единственной причиной, по которой я использую handlebars, является использование помощника {{action}} Ember для перехода в новое состояние при нажатии на одну из этих кнопок. Это правильный способ сделать это?

UPDATE: Мое временное решение заключается в том, что у меня есть свойство mediaUrl в моем контроллере, и я жестко закодировал URL-адрес медиа. Однако это не означает, что URL-адрес СМИ может измениться в любое время на стороне сервера.

спросил(а) 2021-01-25T19:05:15+03:00 4 месяца, 3 недели назад
1
Решение
64

Вам может быть лучше, если сервер обрабатывает шаблон и вставляет правильный MEDIA_URL перед отправкой его клиенту. Единственный другой способ, о котором я могу думать, - сделать отдельный запрос на сервер, чтобы получить этот URL перед рендерингом.

ответил(а) 2021-01-25T19:05:15+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема