[Django1.6]The MEDIA_ROOT and STATIC_ROOT settings must different 해결

프로젝트에 사진 업로드 기능이 있는데 그 때 업로드 경로와 정적 파일의 경로를 간단하게 똑같이 쓰기 위해 와이파이 7의 기기에서 작동하는 데 문제가 없었습니다. 오늘centos의 기기에서 다음과 같은 오류가 발생했습니다.
django.core.exceptions.ImproperlyConfigured: The MEDIA_ROOT and STATIC_ROOT settings must have different values
Google에서 바로django 문서에 도착합니다.
MEDIA_ROOT and STATIC_ROOT must have different values. Before STATIC_ROOT was introduced, it was common to rely or fallback on MEDIA_ROOT to also serve static files; however, since this can have serious security implications, there is a validation check to prevent it.
문서에 명시된 MEDIAROOT와 STATICROOT는 같은 경로를 사용할 수 없습니다.STATICROOT가 도입되기 전에 MEDIA를 사용했던...ROOT 경로는 보안을 위해 정적 파일(css, js 등)을 저장합니다.지금은 기본적으로 MEDIA업로드 파일을 저장하는 ROOT, STATICROOT는 정적 파일을 저장합니다. 
해결 방법:
settings에서 수정된 내용:
메디아를...다른 경로로 ROOT 정의
MEDIA_URL = '/upload/'
MEDIA_ROOT = os.path.join(BASE_DIR,'uploadfiles').replace('\\','/')

그리고 전역 urls 설정에 추가
  url(r'^upload/(?P<path>.*)$','django.views.static.serve',{'document_root': settings.MEDIA_ROOT}),

마지막으로 페이지에 그림이 표시된 곳에서 연결 주소를 수정하면 됩니다.
<a href="/upload/{{ user.userinfo.license }}" target="_blank">  </a>

기본적으로 이 세 가지 절차만 있으면 원래의 저장 경로를 바꿀 수 있다.
본 논문은 "orangleliu 노트북"블로그에서 나온 것으로, 전재는 반드시 이 출처를 보존해 주십시오.http://blog.csdn.net/orangleliu/article/details/40542099
작성자: orangleliu

좋은 웹페이지 즐겨찾기