inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 사용자를 위한 웹개발 입문 A to Z Django + Bootstrap

실제 서비스를 올릴 시 DEBUG = False 로 변경한 뒤 업로드 해야하는 것으로 알고있습니다.

2545

woody

작성한 질문수 7

0

하지만 프로젝트 setting.py에서 DEBUG를 False로 변경하는 순간 static과 media가 반영되지 않던데 해결책이 있을까요?

python bootstrap django

답변 1

0

SungYong Lee

안녕하세요. 말씀하신대로, Django는 DEBUG=False로 해서 서비스하는 것이 보안상 이롭습니다. 그러나 이를 위해서는 Apache나 Nginx로 웹서버를 설정하여 운영하는 것이 정석입니다. 아쉽게도 본 강좌는 웹 개발에 초점을 맞추었기 때문에 Apache나 Nginx를 사용하는 방법을 다루고 있지 않습니다. 

Apache나 Nginx를 설정하는 정석은 아니지만, 현재 상태에서도 DEBUG=False로 운영하는 방법을 설명드리겠습니다. 

일단 static 파일을 활성화 시키는 방법입니다. 

python manage.py runserver --insecure

커맨드 창에서 뒤에 --insecure를 붙여서 실행시켜주세요. 그리고 브라우저를 열어보시면 CSS, JS 파일들이 반영되어 있을겁니다. 

하지만, 현재 상태로는 media 파일들이 제대로 연결되어 있지 않습니다. 

settings.py가 있는 프로젝트 폴더 (영상 그대로 따라하셨다면 my_site_prj 폴더)에 있는 urls.py를 열어주세요. 

맨 위에 아래 두 줄을 추가해주세요. 

from django.views.static import serve
from django.urls import re_path

그리고, urlpatterns를 아래와 같이 수정해주세요. 

urlpatterns = [
path('blog/', include('blog.urls')),
path('admin/', admin.site.urls),
path('markdownx/', include('markdownx.urls')),
path('accounts/', include('allauth.urls')),
re_path(r'^media/(?P<path>.*)$', serve, {'document_root':settings.MEDIA_ROOT}), # 이부분 추가!!
path('', include('basecamp.urls')),
]

이제 브라우저를 refresh 보세요. 

더 안전하고 안정적인 서버 운영을 하고 싶다면, 앞서 말씀드린대로, Apache나 Nginx를 활용하여 운영하는 방법을 찾아보시기 바랍니다. 

후속 강의

0

390

1

완성했습니다. 감사합니다

0

322

2

오늘 vps 에 domain 을 지정해주고 아직 활성화되지 않았는데

0

299

1

test 결과 두 가지 error 가 발생했습니다. 뭐가 잘못된 건지 도저히 모르겠습니다.

0

422

1

accounts/login 이 존재하지 않는다고 나옵니다

0

269

2

코드 질문입니다

0

248

1

포스트에 markdown을 사용해서 이미지를 추가할때

0

311

1

New Post 관련 질문드립니다.

0

179

1

이번 영상부터 각 포스트에 프리뷰 사진이 달라지셔서 질문 드립니다.

0

336

1

base 작업한 후 Category가 블로그 하단으로 내려갔습니다.

0

254

1

혹시 소스코드 전체가 담긴 주소를 좀 알 수 있을까요?

0

265

1

9분 경 테스트에서 Assretion Error가 발생합니다.

0

235

1

파이참 초기 설치 후 설정 관련해서 git에 항상 add되는 옵션을 체크했습니다.

0

346

3

F12를 눌러 console 창에서 오류를 확인할때 몇번째 줄인지 나오지 않습니다.

0

396

1

post view도 delete하려는데 막혀서 ㅠㅠ

0

197

1

"GET / HTTP/1.1" 400 143 그리고 "GET / HTTP/1.1" 404 2031

0

3304

3

연결이 안됩니다

0

506

8

서버에 연결하고 나면 그 후에 Cmder가 작동이 안되요

0

378

2

서버에 배포후 어드민계정

0

590

2

안녕하세요! 실서버에 올린 sqlite3의 데이터를 직접 확인하려면 어찌하나요?

0

2039

3

gitignore안먹히는현상

0

292

1

cmder 종료시 서버도 같이 종료됩니다.

0

220

1

' python manage.py makemigration blog ' 명령어 에러

0

588

2

python manage.py makemigrations 를 했을 때 오류가 납니다.

0

560

2