Django

장고를 이용한 처음 세팅

zhelddustmq 2024. 8. 8. 16:06
VS Code 단축키 모음

새로고침
- `F5`

저장
- Windows: `Ctrl` + `S`
- macOS: `command` + `S`

전체선택
- Windows: `Ctrl` + `A`
- macOS: `command` + `A`

잘라내기
- Windows: `Ctrl` + `X`
- macOS: `command` + `X`

콘솔창 줄바꿈
- `shift` + `enter`

코드정렬
- Windows: `Ctrl` + `Alt` + `L`
- macOS: `option` + `command` + `L`

들여쓰기
- `Tab`
- 들여쓰기 취소 : `Shift` + `Tab`

주석
- Windows: `Ctrl` + `/`
- macOS: `command` + `/`

 

프로젝트 시작과정 (아래 이미지는 VSCode기반)

  1. 가상환경을 생성
  2. 가상환경을 활성화
  3. Django를 설치
  4. 의존성 파일 requirements.txt를 생성
# venv라는 폴더명으로 가상환경 만듦
python -m venv venv

# 가상환경 활성화
source venv/Scripts/activate

가상환경 생성 및 활성화(Window)

# venv라는 폴더명으로 가상환경 만듦
python -m venv venv

# 가상환경 활성화
source venv/bin/activate

가상환경 생성 및 활성화(Mac) / pip list는 깔려있는것 체

# 장고 설치
pip install django==4.2

장고 설치(Window, Mac 명령어 같음)

 

Django만 깔았는데 여러 다른 파일이 같이 생성됨

Django 만 설치했는데, 다른 것도 설치되는 이유? → 의존성

Django도 결국 또 다른 것들의 도움을 받아 만들어짐. 장고를 사용하기 위해서는 저것들이 함께 설치되어야 함.

→ 이 버전들은 항상 동일해야함

→ 협업할 때, 버전 정보 전달 필요

# 버전정보 저장
pip freeze > requirements.txt

# 버전정보 불러오기
pip install -r requirements.txt

requirements.txt에 버전정보 저장
폴더 안에 requirements.txt가 생성되고 깔려있는 것들의 버전정보 저장되어있음
다른 프로젝트에서 설치를 하려면 위와같은 명령어로 버전들을 설치

 


    5. 프로젝트 생성

django-admin startproject my_first_pjt

Django 폴더에 my_first_pjt라는 폴더가 생김

    6. 작업 디렉토리 변경

cd my_first_pjt

 

     7. django 개발 서버 실행

python manage.py runserver

. 분홍색 박스를 마우스 가리킨 후, ctrl + 마우스 왼클릭하면 만든 웹페이지가 열림. 서버 중지는 ctrl + c

 

 

my_first_pjt 생성 시 같이 생성되는 것들

`settings.py` : 프로젝트의 설정을 관리하는 곳
`urls.py` : 어떤 요청을 처리할지 결정하는 곳 
`__init__.py` : 하나의 폴더를 하나의 파이썬 패키지로 인식하도록 하는 파일 
                → 3버전 이상으로 가면 없어도 됨. 3버전 이하에서도 동작하도록 호환성을 위해 지키는 규칙
`wsgi.py` : 웹 서버 관련 설정 파일
`manage.py` : Django 프로젝트 유틸리티 (조종기)



settings.py와 urls.py을 주로 만지게 됨

 


- Django App: 사용자가 생각하는 하나의 기능 덩어리

  • 하나의 프로젝트는 여러 개의 앱으로 구성가능
    • 하나의 앱으로 모두 개발하는 것도 가능함. (무엇이 좋다기보다 선택의 문제)
    • 하지만 여러 개의 앱으로 나누어 개발하는 것을 권장

- 프로젝트와 앱

  • 프로젝트(Project) : 어플리케이션의 집합체
  • 앱(App) : 각각의 기능 단위 모듈

App 사용하기

  • App 생성하기
python manage.py startapp <앱 이름>
python manage.py startapp articles

Django에선 앱 이름을 복수형으로 짓는 것을 권장

 

장고 프로젝트 내부에 articles앱이 생성됨

  •  App 등록하기

         settings.py 파일열기 → INSTALLED_APPS 리스트 안 맨 마지막줄에 생성한 app이름 추가(','도 넣어주면 좋음)

app 등록
app 생성 시 같이 생성되는 것들

migrations - DB 히스토리를 관리하는 폴더

__init__.py: 위와 동일

admin.py - 관리자용 페이지 관련 설정

apps.py - 앱 관련 정보 설정 (app setting)

models.py - DB관련 데이터 정의 파일

tests.py - 테스트 관련 파일

views.py - 요청을 처리하고 처리한 결과를 반환하는 파일

'Django' 카테고리의 다른 글

모델 및 마이그레이션  (0) 2024.08.14
url 변수, 앱 분리, Naming URL Patterns(장고)  (0) 2024.08.13
Django GET 메서드 기초  (0) 2024.08.12
Django Template System 기초  (0) 2024.08.09
장고(Django) 간단 소개  (0) 2024.08.08