Я использую этот STATIC_ROOT и MEDIA_ROOT конфигурацию:STATIC_ROOT и MEDIA_ROOT правильная конфигурация
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'wsgi', 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, 'wsgi', 'static', 'media')
MEDIA_URL = '/media/'
MEDIA_DIR = os.path.join(BASE_DIR, "")
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, "templates"),
)
И я использую эту модель:
class Picture(models.Model):
image = models.ImageField(upload_to='media', verbose_name="Foto")
Но картину загрузку в эту папку:
/project_root/wsgi/static/media/media
Когда я пытаюсь найти изображение через «Inspect element», он показывает этот URL:
/media/media/picture.jpg
Но правильный URL является:
media/wsgi/static/media/media/picture.jpg
Можете ли вы помочь мне на то, что я делаю неправильно? Благодарю.
Редактировать
Выше информация, когда я бегу на месте. Это данные развертывания:
Request URL: http://phoebe-rogergonzalez.rhcloud.com/media/media/picture.jpg
"/var/lib/openshift/bunchofnumbers/app-root/runtime/repo/media/picture.jpg" doesn't exists.
Кроме того, я использую OpenShift.
Почему этот «правильный» URL-адрес? URL-адрес - это то, что вы определяете в MEDIA_URL; он не имеет и не должен иметь никакого отношения к MEDIA_ROOT, который просто хранит файлы для веб-сервера для их обслуживания. –
Что я имею в виду с «правильным» URL-адресом, где находится картинка @DanielRoseman –
Но картинка находится в файловой системе. Какой URL-адрес вы его обслуживаете, не имеет к этому никакого отношения./media/должен быть просто настроен на обслуживание файлов из/wsgi/static/media, что и есть. –