인프런 커뮤니티 질문&답변

sfdg4869님의 프로필 이미지
sfdg4869

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

프로젝트 생성 및 초기 프로젝트 환경설정

질문있습니다 !

해결된 질문

작성

·

270

0

안녕하세요 선생님 강의 너무 잘보고있습니다!

코드를 작성하던중 오류가 발생하여 질문드립니다!

if settings.DEBUG: urlpatterns += static(settings.STATIC_URL, document_root=settings.MEDIA_ROOT)

저는 settings.MEDIA_URL로 하니 오류가 발생하여

STATIC_URL로 바꾸었더니 runserver가 잘 동작하였습니다 혹시 무슨 문제인지 알 수 있을까요?!

답변 3

1

sfdg4869님의 프로필 이미지
sfdg4869
질문자

아! 오타를 범했네요.. 감사합니다 이렇게 자세히 답변해주셔서요! 좋은 주말 보내세요!

0

sfdg4869님의 프로필 이미지
sfdg4869
질문자

먼저 답변해주셔서 감사합니다 !

저는 프로젝트 이름은 askcompany 대신 djangowithreact라는 이름으로 주었습니다. !

오류는

이런식으로 나왔습니다!

질문드렸던것처럼 media를 static으로 바꾸니 해결은 되었는데 잘 하고 있는건지 살짝 제 자신이 의심도 되네요..

일단 해결은 되었습니다!

이진석님의 프로필 이미지
이진석
지식공유자

설정값에 오류가 있습니다.

MEDAI_ 가 아니라 MEDIA_ 입니다.

  • MEDAI_URL 이 아니라 MEDIA_URL 이며

  • MEDAI_ROOT 가 아니라 MEDIA_ ROOT 입니다.

장고 settings는 django/conf/global_settings.py 에 기본 설정이 있고, 우리 프로젝트/settings.py 에서 이 설정을 덮어쓰기 하는 형태로 사용을 합니다.

  • django/conf/global_settings.py 에는 MEDIA_URL과 MEDIA_ROOT 값이 설정되어있는 데,

  • 쓰신 프로젝트/settings.py 에서는 MEDAI_URL과 MEDAI_ROOT 값을 설정하셨으니 덮어쓰기가 안 된거죠.

 

MEDIA_URL의 디폴트 값은 빈 문자열 "" 이며, MEDIA_ROOT의 디폴트 값도 빈 문자열 "" 입니다. MEDIA_URL 값은 절대 빈 문자열이어서는 안 되는 데, 덮어쓰기가 안 되어서 빈 문자열 상태가 되어버렸으니, 보여주신 Empty static prefix not permitted 에러가 발생한 것입니다.

오타를 고쳐주세요.

화이팅입니다. :-)

0

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

어떤 오류가 발생하셨나요? 오류 내역을 알려주셔야 확인이 가능합니다. 적용하신 내역을 모르는 데 제가 문제점을 찾아낼 수는 없거든요. 불가능하죠. :-) 오류 화면 스크린샷과 MEDIA_URL와 MEDIA_ROOT 값을 알려주세요.

오류가 발생하지 않는다고 해서 반드시 동작하는 것은 아닙니다. runserver 시에는 오류가 안 나더라도 실제 동작에서 엉뚱한 동작을 할 수 있는 거죠. MEDIA_URL이 아닌 STATIC_URL로 하시면 static 파일 서빙 시에 MEDIA_ROOT 경로에서 파일을 찾게 되어 static 파일 서빙에 오류가 있으실 수 있습니다.

실제로 설정하신 값과 오류 내역을 봐야알겠지만, settings.MEDIA_URL 값에 오류가 있으실 수 있습니다. 흔히 "/media/" 로 값을 세팅하시게 됩니다.

확인해보시고, 댓글 남겨주세요.

나중에 질문이 해결되셨다면, 꼭 본 질문의 상태를 해결됨으로 변경 부탁드립니다.

화이팅입니다. :-)

sfdg4869님의 프로필 이미지
sfdg4869

작성한 질문수

질문하기