코드 컨벤션이란 여러사람이 협업을 진행해도 모두 읽기 편한 코드를 작성하기 위한 규칙이다.
PEP8을 기준으로 많이 따르려고 하지만 관습이고 관례이기 때문에 꼭 얽매일 필요는 없다.
but Django에서는
- 프로젝트 시작 전 가상 환경이 필요한 이유 :
프로젝트별로 사용하는 패키지 버전이 다를 경우 충돌이 발생하기 때문- virtualenv 설치 :
🔎 pip3 install virtualenv- 가상 환경 생성 : 프로젝트 시작을 원하는 디렉토리로 이동 후
🔎 virtualenv [가상환경 이름] --python=python3.10[원하는 버전으로]- 현재 디렉토리에 가상환경의 이름의 폴더 생성
- 가상 환경 접속 : 현재 디렉토리에서
🔎 source ./[가상환경 이름]/bin/activate- 비활성화 시키는 방법 :
🔎 deactivate
가상환경이 활성화되 상태에서 django를 설치하여 프로젝트별 개발 환경을 분리된 환경에서 구축한다.
Django 설치 방법 :
🔎 pip3 install django or pip3 install django==3.2.13Django 버전 확인 :
🔎 django-admin --version
1) Project 생성
- project는 하나의 프로그램 단위로 여러개의 Apps의 기능이 합쳐서 웹을 구축함
- Django가 설치되면 "django-admin" 명령어로 Project 및 App을 생성
🔎 django-admin startproject [프로젝트명]
🔎 django-admin startproject [프로젝트명] .위의 두 방법 차이는 현재 디렉토리 안에 프로젝트 디렉토리를 생성하고, 그 안에 다시 프로젝트 관련 폴더를 생성할지, 아니면 깊이를 주지 않고 바로 생성할지에 대한 depth의 차이이다.
django-admin startproject [프로젝트명]
django-admin startproject [프로젝트명] .
위와 같이 두개의 방법으로 프로젝트를 생성하면 프로젝트 구조에 차이점을 보이는데, 첫 번째 방법은 config라는 폴더안에 config라는 또다른 폴더가 생성되어 프로젝트를 구성하고 있고, 두 번째 방법은 현재 디렉토리에 config라는 폴더를 바로 생성하여 프로젝트를 구성하고 잇는 것을 확인 할 수 있다.
🧑🏻💻 나는 일반적으로 간결하고 깔끔한 프로젝트 구조를 원하기 때문에 두번째 방법을 선호 한다. 하지만 하나의 큰 프로젝트 내에 또다른 두개 이상의 프로젝트가 필요로 하는 경우에는 첫번째 방법을 사용해야 할 것이다.
2) App 생성
Project 디렉토리 안에 App을 생성하기 위해 프로젝트로 경로 이동
🔎 django-admin startapp [앱이름]
3) App 등록
Model은 apps.py에 종속되어 있기 때문에 DB의 실체가 될 테이블 등록이 필요하다.
settings.py의 "INSTALLED_APPS"부분에 아래와 같이 등록하자.INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # CUSTOM APP 'app_one', # 👈 생성한 App의 이름을 넣어주면 된다. ]
🧑🏻💻 이후에 DB 모델링 후에 관리자 페이지에서 데이터를 확인하려고 하는데 App을 등록을 하지 않으면 확인 할 수 없을 것이다.
4) 프로젝트 실행
이제 Django를 이용하여 생성한 프로젝트를 열어보자.
🔎 python3 manage.py runserver 8000Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
실행 명령어를 입력하여 콘솔창에 나오는 http://127.0.0.1:8000/ 를 브라우저 주소창에 입력하여 이미지와 같이 나오면 성공이다.