당신은 멋쟁이, 우리는 장고쟁이~

0%

Writing your first Django app, part1 - 2편

개발 서버


지난 포스팅에서 Django 프로젝트를 생성하였습니다.


생성된 django 프로젝트가 동작을 하는지 확인해 보겠습니다.


mysite폴더로 이동하고, python manage.py runserver 커멘드를 실행해줍니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(django-tutorial)  ~/django_tutorial/mysite (master)  ls
manage.py mysite
(django-tutorial) ~/django_tutorial/mysite (master) python manage.py runserver

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

April 11, 2020 - 06:48:28
Django version 3.0.5, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.


17 unapplied migration(s)

17개의 적용되지 않은 마이그레이션이 있다는 메시지는

일단 무시하고 넘어갑니다. 곧 이것에 대해서 다루게 될겁니다.


Django 개발 서버를 시작하였습니다. 파이썬으로만 쓰여진 아주 가벼운 웹 서버 입니다.


이 웹서버는 Django 에 포함되어 있고, Apache 같은 프로덕션 서버를 설정할 필요 없이, 빠르게 개발할수 있게 만들어져 있습니다.

프로덕션 서버를 만들 준비가 되면, 그때가서 프로덕션 서버 설정을 하면 됩니다.



한가지 알아야 할 점은, 이 서버를 프로덕션 환경에서 사용하면 안된다는 점입니다. 개발서버는 오직 개발중에 사용될 의도로 만들어 졌습니다.


웹서버 접속해보기


서버가 실행중이니, 브라우저에서 웹서버에 접속해 봅니다 http://127.0.0.1:8000


아래 이미지와 같이, 로켓 그림과 함께 congratulations! 가 표시된 페이지를 본다면, 잘 실행되고 있다는 겁니다.




runserver 커맨드는 기본값으로

내부 IP port 8000 에 개발서버를 시작합니다.


포트값을 바꾸고 싶으면, 커맨드라인에서 인자값을 바꿔줍니다. 예를들어

python manage.py runserver 8080


서버의 IP 를 바꾸고 싶다면, IP 값을 포트값과 같이 전달해 줍니다. 예를들어

python manage.py runserver 0:8000

0 은 0.0.0.0 의 약자입니다.


자동 runserver 리로딩


개발 서버는 각 요청마다 파이썬 코드를 자동으로 다시 불러오게 됩니다.


코드의 변경 사항의 결과를 보기위해서, 매번 서버를 다시 시작하지 않아도 됩니다.


그렇지만, 어떤 파일들을 추가할때는 자동으로 다시 불러오지 않습니다. 따라서 해당 상황에서는, 서버를 다시 재시작 시켜 주어야 합니다.



마치며..


개발 서버를 구동 시켜 보았습니다.

python manage.py runserver를 실행시켜보면, 서버가 시작됩니다


한번 서버를 실행 시키면, 에러가 없는 파이썬 코드를 수정할때마다 서버가 수정된 코드들을 다시 읽어 옵니다.


서버를 재시작 시킬 필요가 없지만. 특정 파일들을 추가할때에는 그렇지 않을 경우가 존재하기 때문에, 그런 상황에서는 서버를 다시 실행 시켜 줍니다.