안녕하세요. 닉네임 변경할 예정인 철보빡입니다.
현재 django framework 를 이용하여 개발 중인데, 장고를 처음 써보는지라
장고 강의를 들으면서도 계속 헷갈리는 부분이 분명하게 존재했습니다.
저와 비슷하게 django 를 처음 접하면서 많은 시행착오를 거치실 분들을 위해 포스팅을 시작하려 합니다!
해당 포스팅은 아래 schoolofweb.net 사이트를 참고하여 제작되었습니다.
개발환경
파이참 IDE
파이썬 버전 : 3.8.5
저는 파이참 IDE 를 사용중이고,
앞으로 나오는 포스팅도 Pycharm IDE를 사용하는 환경에서 제작될 예정입니다.
만약 저와 같이 환경을 구성하시려면, 위 포스팅을 참고하시길 바랍니다.
pycharm 설치와 django 기본 환경 셋팅에 대해 다뤘습니다.
본격적으로 시작해보도록 하겠습니다!
1. DjangoProejct 생성하기
django-admin startproject [프로젝트명]
명령어를 이용해서, 장고 프로젝트를 만들어봅시다.
저는 tutorial 이라는 이름의 프로젝트를 생성했습니다.
화면과 같이 생성되면 제대로 된 것입니다.
기본적으로 생성된 파일들을 살펴볼까요?
최상의 루트 디렉토리인 tutorial/ :
프로젝트 디렉토리를 담는 단순한 컨테이너입니다.
이 디렉토리 이름은 장고 어플리케이션과는 무관합니다.
manage.py :
장고 프로젝트와 커뮤니케이션 할 수 있게 하는 커맨드 라인 유틸리티입니다.
tutorial/ :
실제 프로젝트의 파이썬 패키지입니다.
파이썬 코드를 import 할 때 사용됩니다.
tutorial/__init__.py :
아무것도 들어있지 않은 빈 파일입니다.
파이썬에게 현재 디렉토리가 파이썬 패키지라는 것을 인식시켜주는 역할을 합니다.
tutorial/settings.py :
장고 프로젝트의 설정이 포함된 파일입니다.
tutorial/urls.py :
장고 프로젝트 안의 URL 을 선언하는 파일입니다.
장고 사이트의 컨텐츠 목록이라고 보시면 됩니다.
tutorial/wsgi.py :
WSGI 프로토콜을 사용하는 웹 서버가 프로젝트의 페이지를 보여주기 위해
가장 먼저 사용하는 파일입니다.
WSGI 프로토콜이 무엇을 뜻하는지 간단하게 알아보도록 하겠습니다.
Web Server 는 클라이언트 측의 정적인 리소스 요청을 처리하는 프로그램입니다.
Nginx 나 Apache Server 등이 그 예시입니다.
동적인 요청이 Web Server 에게 오면, Web Application에게 요청을 위임합니다.
그리고 이 Web Application 은 수행 결과만을 Web Server 에게 돌려주는 형식이죠.
이때, Web Application 은 Web Server 와 소통할 수 있는 인터페이스를 필요로 합니다.
이 인터페이스 중 하나가 WSGI 인 것이라 이해하고 넘어가시면 됩니다.
2. Django 설치하기
pip install django
위 명령어를 이용해 우리 프로젝트에 장고를 설치해줍니다.
3. DjangoProejct 구동하기
python manage.py runserver
위 명령어를 입력하여 장고 프로젝트를 구동시켜 봅시다.
이렇게 터미널 창에 출력되면 됩니다.
프로젝트 환경은 구축했으니, 이제 웹 어플리케이션을 만들어봅시다.
앱은 아래 명령어를 입력해서 만들 수 있습니다.
python manage.py startapp [어플리케이션 이름]
다음 포스팅부터는 뷰를 만들고, 라우팅하는 과정을 담아볼까합니다.
포스팅 봐주셔서 감사합니다.
'Programming > Python' 카테고리의 다른 글
[ Django ]ORM ( Object-Relational Mapping ) 이란 무엇인가 (0) | 2021.04.24 |
---|---|
[ Django ] Django Mobile Debugging | 장고 서버 모바일 | Django IP 지정 (0) | 2021.04.05 |
[ CodeUp ] 1차원 배열 | 1416 번 풀이 (0) | 2021.03.31 |
[ Django ] 이미지 관리 라이브러리 pillow (0) | 2021.03.30 |
[ CodeUp ] 1차원 배열 | 1412 번 풀이 (0) | 2021.03.29 |