Django загрузить файл URL-адрес проблемы - PullRequest
2 голосов
/ 22 августа 2011

У меня есть этот корень мультимедиа:

MEDIA_ROOT = '/var/www/hosted/myapp/static/'
и этот URL-адрес мультимедиа
MEDIA_URL = '/static/res/'
, и я пытаюсь загрузить файл с использованием вызываемой функции:
def get_uploadto(instance, filename):
    ''' Dummy callable to silence the upload_to field of FileFields '''
    return os.path.join('uploads', filename)
, он загружает изображение на диск в / var / www /hosted / myapp / static / uploads / так же, как и планировалось, но в админке он создает ссылку, указывающую на static / res / uploads, которая не существует.Кто-нибудь знает почему?Конечно, я могу просто переместить каталог загрузок в статическое разрешение, но я ищу более элегантное решение.

1 Ответ

3 голосов
/ 22 августа 2011

Это ожидаемое поведение. Файлы в

MEDIA_ROOT + 'uploads' + filename
or
/var/www/hosted/myapp/static/uploads/filename

URL-адреса, указывающие на эти файлы:

MEDIA_URL + 'uploads' + filename
or
/static/res/uploads/filename

Затем необходимо убедиться, что ваше приложение или среда хостинга указывает URL-адрес на местоположение на диске. В среде разработки у вас будет что-то вроде этого в ваших urlpatterns:

(r'^static/res/(?P<path>.*)$', 'django.views.static.serve', {'document_root': os.path.dirname(settings.MEDIA_ROOT)}),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...