[The Origin] 백엔드 개발자 취업 아카데미 with Django
프로젝트 라이언 & 이동원
공식문서
1. 개발환경 구성
2. 터미널 명령어
3. 장고
4. 장고 모델 Models
5. 장고 어드민 Admin
6. 장고 템플릿 Tempaltes
# 현재 디렉토리 파일, 디렉토리 확인
# #윈도우
dir
# #맥
ls -al
# 디렉토리 이동
# #윈도우, 맥
cd [디렉토리명]
# # 상위 디렉토리 이동
cd ..
# 터미널 텍스트 삭제
# #윈도우
cls
# #맥
clear
윈도우는 python
, 맥은 python3
를 사용합니다.
맥은 기본적으로 파이썬2가 설치되어있어 python3
를 꼭 붙여주셔야 합니다.
# #윈도우
python
pip
# #맥
python3
pip3
# 패키지 확인
# #윈도우
pip list
# #맥
pip3 list
# 패키지 설치
# #윈도우
pip install [패키지명]
# #맥
pip3 install [패키지명]
# 패키지 제거
# #윈도우
pip uninstall [패키지명]
# #맥
pip3 uninstall [패키지명]
# 패키지 업그레이드
# #윈도우
pip install --upgrade pip
# #맥
pip3 install --upgrade pip
가상환경을 만들 때에는 장고 프로젝트 폴더를 생성하여 디렉토리를 이동한 후 생성해야 함(아래 명령어 입력)
가상환경 명은 venv가 아니여도 상관없으나 venv 사용을 권장
# 가상환경 생성
# #윈도우
python -m venv venv
# #맥
python3 -m venv venv
# 가상환경 접속
# #윈도우
.\v env\S cripts\a ctivate
# #맥
source venv/bin/activate
# #윈도우
pip install django
# #맥
pip3 install django
장고 프로젝트 생성 시 프로젝트 명은 제한은 없으나 협업, 유지보수를 위해 config
로 하는 것을 권장
django-admin startproject [장고 프로젝트명] [위치|생략 가능]
위치를 생략할 경우 장고 프로젝트명으로 폴더가 생기면서 생성됨
장고 프로젝트, 장고 앱 생성 시 django-admin
명령어 사용
# 장고 생성
# #윈도우, 맥
django-admin startproject confg .
# 장고 실행
# #윈도우
python manage.py runserver
# #맥
python3 manage.py runserver
# 마이그레이션 생성
# #윈도우
python manage.py makemigration
# #맥
python3 manage.py makemigration
# 마이그레이트
# #윈도우
python manage.py migrate
# #맥
python3 manage.py migrate
필드명
내용
비고
CharField
작거나 큰 문자열을 위한 문자열 필드입니다.
TextField
큰 텍스트 필드입니다.
IntegerField
정수입니다.
범위 -2147483648 ~ 2147483647
FloatField
Python에서 float 인스턴스 표현되는 부동 소수점 숫자 입니다.
BooleanField
참/거짓 필드.
DateTimeField
Python에서 datetime.datetime 인스턴스 로 표시되는 날짜 및 시간 입니다.
FileField
파일 업로드 필드입니다.
ForeignKey
다대일 관계입니다.
ManyToManyField
다대다 관계.
옵션명
내용
비고
null
데이터베이스에서와 True같이 빈 값을 저장 합니다.
blank
True필드를 공백으로 사용할 수 있습니다.
choices
이 필드의 선택 항목으로 사용할 정확히 두 항목(예: ) 의 반복 가능 항목으로 구성된 시퀀스 입니다.
default
필드의 기본값입니다.
editable
False필드가 관리자 또는 기타 항목에 표시되지 않습니다.
help_text
양식 위젯과 함께 표시할 추가 "도움말" 텍스트입니다.
unique
True이 필드는 테이블 전체에서 고유해야 합니다.
validators
이 필드에 대해 실행할 유효성 검사기 목록입니다.
함수명
내용
비고
filter()
QuerySet주어진 조회 매개변수와 일치 하는 새 포함 개체를 반환합니다 .
exclude()
주어진 조회 매개변수와 일치 하지 않는 새 QuerySet포함 개체를 반환합니다.
annotate()
uerySet제공된 쿼리 표현식 목록으로 의 각 개체에 주석을 답니다 .
order_by()
기본적으로 a QuerySet에 의해 반환된 결과 ordering는 모델의 Meta. 메서드 QuerySet를 사용하여 이를 기반으로 재정의할 수 있습니다 .
select_related()
QuerySet쿼리를 실행할 때 추가 관련 개체 데이터를 선택하여 외래 키 관계를 "따를" 것을 반환 합니다.
prefetch_related()
지정된 QuerySet각 조회에 대한 관련 개체를 단일 일괄 처리에서 자동으로 검색하는 반환합니다.
함수명
내용
비고
get()
필드 조회 에 설명된 형식이어야 하는 지정된 조회 매개변수와 일치하는 객체를 반환 합니다 .
create()
한 번에 개체를 만들고 모두 저장할 수 있는 편리한 방법입니다.
bulk_create()
이 메서드는 제공된 객체 목록을 효율적인 방식으로 데이터베이스에 삽입하고(객체가 얼마나 많은지 상관없이 일반적으로 1개의 쿼리만) 생성된 객체를 제공된 것과 동일한 순서로 목록으로 반환합니다.
count()
일치하는 데이터베이스의 개체 수를 나타내는 정수를 반환합니다.
first()
쿼리 세트와 일치하는 첫 번째 개체를 반환하거나 None일치하는 개체가 없는 경우 반환합니다.
aggregate()
집계 값(평균, 합계 등)의 사전을 반환합니다.
update()
지정된 필드에 대해 SQL 업데이트 쿼리를 수행하고 일치하는 행 수를 반환합니다.
delete()
모든 행에 대해 SQL 삭제 쿼리를 수행하고 삭제 QuerySet된 개체 수와 개체 유형당 삭제 수가 포함된 사전을 반환합니다.
옵션명
내용
비고
list_display
관리자의 변경 목록 페이지에 표시되는 필드를 제어하도록 설정
list_editable
변경 목록 페이지에서 편집을 허용할 모델의 필드 이름 목록으로 설정
list_filter
변경 목록 페이지 오른쪽 사이드바에서 필터를 활성화하도록 설정
search_fields
변경 목록 페이지에서 검색 상자를 활성화하도록 설정
search_help_text
검색 상자 아래에 표시될 검색 상자에 대한 설명 텍스트를 지정하도록 설정
Django 4.0의 새로운 기능
readonly_fields
데이터를 있는 그대로 표시하고 편집 불가
inlines
관리 인터페이스에는 상위 모델과 동일한 페이지에서 모델을 편집할 수 있는 기능
InlineModelAdmin