изображение не загружается при использовании наследования шаблонов

0

Изображение в родительском шаблоне не загружается в дочернем, а вместо него отображается "alt". Вот как идет структура.

"Base.html"

<DOCTYPE! html>
<html>
    <head>
    </head>
    <body>
        <div class = "x">
            <image src="x.jpg" alt="x">
        </div>
        <div class = "y">
            <a src="...">y</a>
        </div>
        <div id = "content">
            {% block content %}
            {% endblock %}
        </div>
    </body>
</html>

"Child.html"

{% extends "base.html" %}
    {% block content %}
        ---replaced content
    {% endblock %}

content, y отображается в обычном режиме, но x (изображение) отображает текст alt и не может загрузить изображение. Это происходит только тогда, когда изображение src не является URL-адресом, если оно отображается хорошо.

Я использую движок шаблонов jinja2.

Теги:
jinja2
google-app-engine
template-engine

1 ответ

0

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

handlers:
- url: /static
  static_dir: static

поэтому всякий раз, когда URL-адрес начинается с '/static', он получает его из этого каталога и обрабатывает его как статический файл, иначе нет.

Это очень похоже на этот вопрос, поскольку Jinja не отображает css/images в подкаталогах и не имеет ничего общего с jinja2 или его наследованием.

  • 0
    В итоге, используйте абсолютные URL при доступе к изображениям (и другим ресурсам).
  • 0
    Вы имеете в виду в файле конфигурации? если да, что является абсолютным и относительным URL в нем (не в целом)?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню