Как мне вызвать изображения из '/ media /', используя относительные URL в Django? - PullRequest
0 голосов
/ 21 октября 2019

Я хочу вызвать logo.png и favicon.ico, которые хранятся в папке media/tmp, используя {% media 'tmp/logo.png' %}

. С моими текущими конфигурациями я могу вызывать файлы .css и .js изпапка static без проблем, но я не понимаю, что происходит при звонке с media.

У меня есть следующие конфигурации в settings.py:

STATIC_URL = '/static/'
MEDIA_URL = '/media/' 
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static_in_env')]
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

И это моя конфигурация папки:

myproject
   ├── myproject
   ├── blog (app)
   ├── media
   │    └── tmp
   │         ├── logo.png
   │         └── favicon.ico
   ├── static
   ├── static_in_env
   └── templates

Это сообщение об ошибке, которое я получаю:

Invalid block tag on line 21: 'media'. Did you forget to register or load this tag?

Когда я пытаюсь:

<link rel="shortcut icon" type="image/png" href="{% media tmp/favicon.ico %}">

и

<img src="{% media tmp/logo.png %}" class="custom-logo">

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Я понял, что организовал это неправильно.

/media/ не для изображений, которые являются частью шаблонов. Вот для чего static. Поэтому я поместил логотип и значок в папку img внутри static и назвал их, используя {% static ... %}.

0 голосов
/ 21 октября 2019

Это должно сделать это.

<img src="{{ MEDIA_URL }}favicon.ico" />
...