2011-08-22 5 views
2

이 미디어 루트 : Django 업로드 파일 URL 문제

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 /를 계획대로 만들지 만 관리자는 정적/res/uploads라는 링크를 만듭니다.이 링크는 존재하지 않습니다. 아무도 이유를 아나요? 물론, 정적 인 res 내에서 단순히 upload dir을 움직일 수는 있지만 좀 더 우아한 해결책을 찾고 있습니다.

+0

원격 사용자가 파일에 액세스 할 수있게 하시겠습니까? 그런 다음 url을 경로에 매핑해야합니다. – agf

답변

3

이것은 예상되는 동작입니다. 파일은

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

의 URL이 해당 파일이에 그 시점의 위치 :

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

당신은 다음 확인할 필요가 응용 프로그램이나 디스크 위치에에 환경 점에게 URL을 호스팅. dev 환경에서는 다음과 같은 내용을 URL 형식으로 사용하게됩니다.

(r'^static/res/(?P<path>.*)$', 'django.views.static.serve', {'document_root': os.path.dirname(settings.MEDIA_ROOT)}), 
+0

덕분에 많은 도움이되었습니다. :) –

+0

장고에 오신 것을 환영합니다 .--) –