Как установить путь к корневой медиапапке в Django?
У меня есть папка мультимедиа вне APP, в папке проекта (для обмена мультимедиа с другими приложениями).
Проблема:
Я получаю ошибку:
"GET /soupiska/pic/hraci/download_6BVC8qn.jpeg HTTP/1.1" 404 2971
но «soupiska» - это папка APP.
Путь, сохраненный в базе данных, таков: pic/hraci/download_6BVC8qn.jpeg
А settings.py включает в себя:
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
print(MEDIA_ROOT)
Причина такого поведения в том, что я нахожусь в APP URL:
Как настроить Django, чтобы путь к медиафайлам задавался в папке проекта, даже если я нахожусь в URL APP?
Вместо GET /soupiska/pic/hraci/download_6BVC8qn.jpeg
Попробуйте GET /pic/hraci/download_6BVC8qn.jpeg
Примечание: Медиафайлы отображаются независимо от папки приложения.
Если вы хотите строго использовать /soupiska
в начале, то вам нужно добавить папку soupiska
внутри папки media
и добавить логику для сохранения в этой папке при загрузке мультимедиа. сохранено (в основном в виде models.py)
Чтобы использовать Image
в Template
, вам нужен абсолютный открытый путь к Image
, который вы можете получить с помощью url
[djangoproject.com ] атрибут Image
. Измените эту строку:
th><img src="{{ hrac.fotka }}"" /></th></code></pre>
Кому:
<th><img src="{{ hrac.fotka.url }}" /></th>