해결된 질문
작성
·
267
0
안녕하세요 선생님 강의 너무 잘보고있습니다!
코드를 작성하던중 오류가 발생하여 질문드립니다!
if settings.DEBUG: urlpatterns += static(settings.STATIC_URL, document_root=settings.MEDIA_ROOT)
저는 settings.MEDIA_URL로 하니 오류가 발생하여
STATIC_URL로 바꾸었더니 runserver가 잘 동작하였습니다 혹시 무슨 문제인지 알 수 있을까요?!
답변 3
1
0
먼저 답변해주셔서 감사합니다 !
저는 프로젝트 이름은 askcompany 대신 djangowithreact라는 이름으로 주었습니다. !
오류는
이런식으로 나왔습니다!
질문드렸던것처럼 media를 static으로 바꾸니 해결은 되었는데 잘 하고 있는건지 살짝 제 자신이 의심도 되네요..
일단 해결은 되었습니다!
0
안녕하세요.
어떤 오류가 발생하셨나요? 오류 내역을 알려주셔야 확인이 가능합니다. 적용하신 내역을 모르는 데 제가 문제점을 찾아낼 수는 없거든요. 불가능하죠. :-) 오류 화면 스크린샷과 MEDIA_URL와 MEDIA_ROOT 값을 알려주세요.
오류가 발생하지 않는다고 해서 반드시 동작하는 것은 아닙니다. runserver 시에는 오류가 안 나더라도 실제 동작에서 엉뚱한 동작을 할 수 있는 거죠. MEDIA_URL이 아닌 STATIC_URL로 하시면 static 파일 서빙 시에 MEDIA_ROOT 경로에서 파일을 찾게 되어 static 파일 서빙에 오류가 있으실 수 있습니다.
실제로 설정하신 값과 오류 내역을 봐야알겠지만, settings.MEDIA_URL 값에 오류가 있으실 수 있습니다. 흔히 "/media/" 로 값을 세팅하시게 됩니다.
확인해보시고, 댓글 남겨주세요.
나중에 질문이 해결되셨다면, 꼭 본 질문의 상태를 해결됨으로 변경 부탁드립니다.
화이팅입니다. :-)
설정값에 오류가 있습니다.
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 에러가 발생한 것입니다.
오타를 고쳐주세요.
화이팅입니다. :-)