본문 바로가기
기타

TIL - 22.02.09

by DGK 2022. 2. 9.

 

개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.

 

2월 9일(수)


django creating project

command-line에서 cd명령으로 원하는 디렉토리에 가서 아래의 명령을 사용하면 장고의 프로젝트가 생성된다.

 

django-admin startproject 프로젝트명

 

이렇게 생성된 장고 프로젝트의 내용을 살펴보면 다음과 같다.

 

DJANGO/
    manage.py
    DJANGO/
    	__init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

 

These files are:

 

  1. 외부 DJANGO/ 루트 디렉토리는 프로젝트의 컨테이너 역할을 하며 해당 디렉토리의 이름은 중요하지 않고 언제든지 원하는 이름으로 변경할 수 있다.
  2. manage.py 파일은 장고 프로젝트와 다양하게 상호작용하는 command-line 유틸리티이다.
  3. 내부 DJANGO/ 디렉토리는 프로젝트의 실질적인 파이썬 패키지이다. 해당 이름은 프로젝트 안에 존재하는 모든 것들을 불러오는데 사용되는 패키지명이다.
  4. DJANGO/__init.py__ 파일은 해당 디렉토리가 파이썬 패키지임을 알려주는 빈 파일이다.
  5. DJANGO/settings.py 파일은 django 프로젝트의 설정/구성 파일로, django 프로젝트의 설정과 작동방식에 대한 모든 것들을 알려준다.
  6. DJANGO/urls.py 파일은 장고 기반 사이트의 "table of contents"로 사용되며, 프로젝트의 URL 선언과 관련된 내용을 보여준다. (자세한 내용은 URL dispatcher 문서를 참고할 것)
  7. DJANGO/asgi.py 파일은 프로젝트를 제공하기 위한 ASGI 호환 웹 서버의 진입점이다.
    (자세한 내용은 ASGI 배포 관련 문서를 참고할 것)
  8. DJANGO/wsgi.py 파일은 프로젝트를 제공하기 위한 WSGI 호환 웹 서버의 진입점이다.
    (자세한 내용은 WSGI 배고 관련 문서를 참고할 것)

 

 

django development server

외부 DJANGO/ 디렉토리에서 다음의 명령을 사용하면 개발서버를 실행할 수 있다.

 

python manage.py runserver



: << "END"

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

System check identified no issues (0 silenced).
February 10, 2022 - 09:35:22
Django version 4.0.2, using settings 'WECODEPROJECT.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

END

 

해당 명령으로 순수 파이썬으로 작성된 경량 웹 서버를 실행할 수 있으며, 이 웹 서버는 오로지 개발 서버를 목적으로 만들어졌다.

 

runserver 관련 추가내용

  1. 기본적으로 runserver 명령은 포트 8000번의 내부 IP에서 개발 서버를 실행시킨다.
  2. 만약 포트번호를 변경하려면, runserver 명령을 "python manage.py runserver 8080"으로 실행하면 된다.
  3. 만약 서버의 IP와 포트번호를 모두 변경하려면, runserver 명령 뒤에 IP와 포트번호를 함께 적어주면 된다.
  4. 참고로 사용가능한 모든 공용 IP에서 수신을 받고자 한다면, "python manage.py runserver 0:8000"으로 명령을 실행하면 된다.
  5. 마지막으로 개발 서버는 Automatic reloading 기능을 가지고 있기 때문에, 코드 변경사항을 적용하기 위해 서버를 재실행할 필요가 없으며 필요에 따라 파이썬 코드를 자동으로 다시 로드한다. 하지만 파일추가와 같은 일부작업은 Automatic reloading 기능이 적용되지 않으며 이러한 경우에는 서버를 다시 시작해야 한다.

 

 

앞으로 학습할 내용

  • URL dispatcher의 개념과 기능을 공부할 것
  • ASGI/WSGI이 정확히 무엇인지, 장고에서는 어떻게 사용되는 개념인지 정확히 이해할 것

 

 

'기타' 카테고리의 다른 글

TIL - 22.02.11  (0) 2022.02.11
TIL - 22.02.10  (0) 2022.02.10
TIL - 22.02.08  (0) 2022.02.08
TIL - 22.02.07  (0) 2022.02.07
TIL - 22.02.04  (0) 2022.02.04

댓글