2016-02-23 3 views
1

Я использую этот 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.

+0

Почему этот «правильный» URL-адрес? URL-адрес - это то, что вы определяете в MEDIA_URL; он не имеет и не должен иметь никакого отношения к MEDIA_ROOT, который просто хранит файлы для веб-сервера для их обслуживания. –

+0

Что я имею в виду с «правильным» URL-адресом, где находится картинка @DanielRoseman –

+0

Но картинка находится в файловой системе. Какой URL-адрес вы его обслуживаете, не имеет к этому никакого отношения./media/должен быть просто настроен на обслуживание файлов из/wsgi/static/media, что и есть. –

ответ

1

Я решил, изменив MEDIA_URL:

MEDIA_URL = '/static/media/' 

Он теперь работает безупречно. Надеюсь, это поможет кому-то другому.

 Смежные вопросы

  • Нет связанных вопросов^_^