Django 점프 투 장고 정리
작성일 : 2021-11-09
문서버전 : 1.0
개요
이 문서는 점프 투 장고 사이트의 장고 튜토리얼 학습 내용을 정리한 내용입니다.
레퍼런스
점프 투 장고 https://wikidocs.net/72242
0장. 들어가기 전에
머리말
파이썬을 학습하는데 웹 프로그래밍은 많은 도움이 된다. 웹 사이트 개발 뿐만 아니라 게임, 인공지능 분야에도 적용되기 때문이다. 웹 개념, 데이터베이스, 모델링, 네트워크, 서버 등 지식들을 전반적으로 알아야하기 때문에 단기간 습득이 어렵지만 미래에 큰 도움이 될 것이다.
코끼리 코, 다리가 아니라 코끼리를 보라.
1장. 장고 개발 준비
장고의 슬로건은 ‘The web framework for perfectionists with deadlines’. 한마디로 장고는 웹 프로그램을 쉽고 빠른 제작을 도와주는 웹 프레임워크다. 웹 프레임워크란 무엇인가?
웹 프레임워크란?
웹 프로그램을 제작하기 위해선 쿠키 처리, 로그인/로그아웃 처리, DB 처리 등 수 많은 기능들을 구현해야한다. 하지만 이러한 기능들을 이미 구현해둔 웹 프레임워크를 활용하면 웹 프로그램 제작이 수월해진다. 웹 프로그래밍을 위한 일종의 스타터 키트라고 보면 된다.
장고의 특징
튼튼하다
기본적인 보안 능력이 훌륭하다. SQL 인젝션, XSS(cross-site scripting), CSRF(cross-site request forgery), clickjacking 등을 기본적으로 막아주기 때문에 관련 코드를 짤 필요가 없다.
다양한 기능
2005년에 만들어진 장고는 10년 이상 애용되어온 웹 프레임워크다. 웹 프로그램을 위한 왠만한 기능들은 구현되어있다고 보면 된다. 그렇기 때문에 이미 만들어진 기능을 새로 짜는데 고생하지 말라.
Do not reinvent the wheel
재미있다
프로젝트 가상환경 세팅
파이썬은 이미 설치되어있다는 가정 하에 환경세팅을 진행하겠다. 가상환경은 가상의 개발 환경을 만드는 것이다. 왜 만드는 것일까? 우리는 여러개의 개발 프로젝트를 동시에 진행할 것이다. A 프로젝트는 파이썬 3.5로 진행하고 B 프로젝트는 파이썬 3.8로 진행해야한다. 하나의 컴퓨터에 여러 버전의 파이썬을 설치하고 관리하는 것은 복잡한 문제다. 이를 해결하기 위해 한 컴퓨터 내 가상환경을 조성해서 개발 환경의 구획을 나누면 여러개의 프로젝트도 문제없이 진행할 수 있다. 이것이 가상환경의 필요성이다.
> 가상환경 루트 디렉토리를 만들기
..\deskto\django_jump\venvs
Mkdir venvs
Cd venvs
Python 모듈 중 venv라는 모듈을 사용하라는 의미다. Mysite는 가상환경 이름이다. 본인이 쓰고싶은 이름을 써도 된다.
> 가상환경 생성 명령어 입력하기
venvs> python -m venv mysite
> 가상환경 활성화
가상환경을 생성만한다고 가상환경을 사용할 수 없다. 가상환경을 활성화해야 가상환경에 진입할 수 있다.
Cd ..desktop\django_jump\venvs\mysite\Scripts
activate
Scripts 디렉토리에 들어가 ‘activate’명령어를 실행하여 가상환경에 진입해보자. 그러면 cmd 입력창 좌측편에 가상환경 명인 ‘(mysite)’라는 표기가 생긴다.
result

장고 설치
Scripts 디렉토리에 장고를 설치해주자. 설치 후 pip을 최신 버전으로 업데이트도 해주자.
(mysite) ..\venvs\mysite\Scripts
Pip install django
Python -m pip install --upgrade pip
장고 프로젝트 생성
장고에서는 project 개념이 있다. Project는 하나의 웹사이트라 생각하면 된다. 장고 project를 생성하면 한개의 웹사이트를 만드는 것과 같다. 프로젝트 안에는 여러 개의 app들이 있다. App은 관리자 앱, 인증 앱 등과 같이 장고가 기본으로 제공하는 앱과 개발자가 만든 앱들을 포함한다.
장고 프로젝트는 여러개가 될 수 있다. 따라서 프로젝트들을 모아둔 루트 디렉터리 생성을 해주어야 한다.
> 프로젝트 생성하기
‘..\Desktop\django_jump\projects’폴더에 진입하여 mysite 가상환경을 활성화하기
프로젝트 디렉토리를 생성해주고 안으로 진입한다.
Mkdir projects
Cd projects
Project Venvs 가상환경 폴더 내 가상환경을 활성화시켜주는 명령어다. 참고로 아래는 현재 위치를 나타내는 주소가 아니라 가상환경 주소를 지칭하고 주의하기 바란다.
..\desktop\django_jump\venvs\mysite\Scripts\activate
Result

Projects 디렉토리에서 (mysite) 가상환경이 활성화된 것을 확인할 수 있다.
> 프로젝트 만들기
(mysite) C:\Users\yangs\Desktop\django_jump\projects>mkdir mysite
(mysite) C:\Users\yangs\Desktop\django_jump\projects>cd mysite
(mysite) C:\Users\yangs\Desktop\django_jump\projects\mysite>django-admin startproject config .
Mysite라는 폴더를 만들어주고 그 안에 장고 프로젝트를 생성했다. ‘Config .’의 점 표시는 현재 디렉토리에 프로젝트를 생성하겠다는 의미다. 일반적으로 ‘django-admin startproject mysite’ 명령어로 프로젝트를 생성하는데, 생성되는 파일 구조 상 mysite 폴더 내 mysite라는 폴더가 중복으로 겹치는 경우가 생긴다. 관리의 편의를 위해 프로젝트를 현재 디렉토리에 생성하여 한 겹의 구조를 없앴다고 생각하면 되겠다.
> 장고 서버 실행
이제 장고 서버를 실행해보자.
(mysite) C:\Users\yangs\Desktop\django_jump\projects\mysite>python manage.py runserver
Result

CMD에 나와있는 주소(127.0.0.1:8000)로 들어가면 아래와 같이 성공적으로 웹사이트가 구축된 것을 확인할 수 있다.

이 장고 서버는 로컬 호스트(localhost)로 실행되기 때문에 로컬 서버 또는 개발 서버라 부른다. 아직은 우리의 친구들이 해당 서버로 접속하기 어렵다. 다른 친구들이 접속하기 위해선 127.0.0.1과 같은 로컬 아이피가 아니라 15.165.210.240과 같은 고정 아이피 또는 google.com 같은 도메인이 필요하다. 이는 추후에 다루기로 한다.
가상 환경 간편진입
Mysite 가상환경에 진입하려면 ../projects/mysite 폴더에 진입해서 ../venvs/mysite/scripts/active 명령어를 수행해야 한다. 매우 귀찮다. 이러한 과정을 일련에 수행할 수 있는 batch 프로그램을 만들어보자.
>../venvs/mysite.cmd
메모장으로 아래와 같은 코드가 담긴 batch 프로그램을 만들자.
@echo off
cd c:/users/yangs/desktop/django_jump/projects/mysite
c:/users/yangs/desktop/django_jump/venvs/mysite/scripts/activate
해당 배치 파일이 명령 프롬프트 어디에서든 실행딜 수 있도록 하기 위함이다.
> ../venvs 디렉토리를 시스템 환경 변수 PATH에 추가하기
- Window 버튼 + R을 누르고 sysdm.cpl 실행
- Advanced(고급) - Environment Variables(환경 변수) 클릭
- 환경변수 Path 편집(Edit)하기
- 새로운 디렉토리(..\venvs) 추가
이렇게 되면 환경변수 Path에 ‘..\venvs’디렉터리가 추가되어 mysite.cmd 명령을 어디서든 실행할 수 있다. 명령프롬프트를 다시 실행해서 환경 변수 PATH를 확인해보자.
> 환경 변수 PATH 확인하기
Set path
Result

> 배치 파일 실행
Venvs 디렉토리가 추가된 것을 확인했다. 배치파일 실행이 잘 되는지 확인해보자. 확장자 .cmd 파일은 확장자 빼고 파일명만 입력해도 된다. 이 명령어는 그 파일이 없는 곳 어디에서도 실행해도 가상환경으로 진입하게 도와줄 것이다.
input
mysite
Result

Pycharm 설치 및 장고 개발 서버 실행
프로젝트 불러오기
무료인 Pycharm 커뮤니티 버전을 설치하고, Open으로 ‘../projects/mysite’를 열어 장고 프로젝트를 연다.
파이참 인터프리터
장고 프로젝트 불러오기가 완료되었다면 장고 프로젝트가 바라봐야 할 파이썬 인터프리터 위치를 설정하는 것이다.
> [file - Settings] [Project: mysite - Project Interpreter]

부품 버튼을 눌러 [Add]한 뒤 뜨는 창에서 [Existing environment>를 눌러 ../venvs/mysite/scripts/python.exe를 선택해준다.

Settings.py
이제 파이참으로 장고 개발 준비가 완료되었다. 우선 장고 개발 시작을 맛보기 위해 settings.py의 일부를 수정해보자.
>../projects/mysite/config/settings.py
언어 코드와 지역 코드를 수정하기
..
LANGUAGE_CODE = 'ko-kr'
TIME_ZONE = 'Asia/Seoul'
..
python manage.py runserver
> 개발 서버 재구동
Settings.py를 수정한 후 이를 잘 반영했는지 확인해보자. 개발 서버를 열고 웹사이트에 들어가보자.

한국어로 잘 패치된 것을 확인할 수 있다.
'Research > Django' 카테고리의 다른 글
[Django] 점프 투 장고 튜토리얼 - 02-2. 모델(Model) (0) | 2021.11.10 |
---|---|
[Django] 점프 투 장고 튜토리얼 - 02-1. URL과 VIEW (0) | 2021.11.10 |
[Django] 공식 튜토리얼 3 정리 (0) | 2021.11.05 |
[Django] 공식 튜토리얼 2 정리 (0) | 2021.11.03 |
[Django] 공식 튜토리얼 1 정리 (0) | 2021.11.02 |
댓글