일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- PCCP
- AWS
- Snowflake
- 슈퍼셋
- 코테 연습
- 데브코스
- superset
- 데이터 엔지니어
- HTML
- 데이터 시각화
- Tableau
- cloud platform
- GCP
- Spark
- 팀 프로젝트
- 코딩테스트
- beuatifulsoup
- Selenium
- Kafka
- SQL
- Til
- airflow
- 코딩 테스트
- VPC
- django
- Today
- Total
주니어 데이터 엔지니어 우솨's 개발일지
Django 기본 본문
cmd에서 실행
pyhon 가상 환경 생성
py -m venv project-name
가성환경 활성화
django-project\Scripts\activate.bat
Django 프로젝트 생성
django-admin startproject mysite
생성한 프로젝트를 서버에서 실행
python manage.py runserver
프로젝트란?
하나의 웹사이트라고 생각하면 된다.
하나의 프로젝트는 여러개의 앱으로 구성된다.
app생성
python manage.py startapp polls
관계형 데이터베이스(RDB)
데이터를 행과 열로 이루어진 테이블의 형태로 구성하고, 테이블 간의 관계를 정의하는 데이터베이스이다.
테이블(Table)
데이터베이스에서 행과 열로 구성되어 있는 데이터의 집합을 의미한다.
model.py
모델을 테이블 별로 읽어서 테이블에 저장되어 있는 값을 코드에서 읽을 수 있도록 도와준다. (ORM)
1. 모델생성
2. 모델을 테이블에 써주기 위한 마이그레이션을 만든다.
3. 모델에 맞는 테이블을 만든다.
migration 파일 생성하기
python manage.py makemigrations polls
migration으로 실행될 SQL 문장 살펴보기
python manage.py sqlmigrate polls 0001
migration 실행하기
python manage.py migrate
Django에서 sqlite3로 데이터베이스 열기
sqlite3 db.sqlite3
migration 롤백
python manage.py migrate polls 0001
Django Admin계정 생성
python manage.py createsuperuser
admin.py에서 모델 등록
admin.site.register(Question) #models 안의 Question 클래스
admin.site.register(Choice) #models 안의 Choice 클래스
장고 쉘 실행
python manage.py shell
모든오브젝트 가져오기
Question.objects.all()
현재 날짜와 시간 구하기
from datetime import datetime
datetime.now()
from django.utils import timezone
timezone.now()
쉘 레코드 생성
q.choice_set.create(choice_text='b')
저장
q.save()
쉘 레코드 내용 추가하기
q.question_text = q.question_text + '???'
해당 오브젝트 삭제
choice.delete()
필터링
Question.objects.get(id=1) #하나가 넘으면 에러 발생
Question.objects.filter(pub_date_year=2023) #여러개 가능
반대 = filter대신 exclude
startswith='a' a로 시작
contains = 'a' a포함
gt = greater than 이상 gt=0 # 0이상
lt = less than 이하
쿼리 가져오기
print(Question.objects.filter(pub_date_year=2023).query)
정규표현식
Question.objects.filter(question_text__regex=r'^휴가.*어디')
-휴가로 시작 어디 포함
timedelta 날짜 계산
timedate.now() + timedelta(days=1, hours=1, minutes=30)
-1일 1시간 30분후의 날짜와 시간 계산
'Django' 카테고리의 다른 글
테스트 기능(Test) (0) | 2024.04.28 |
---|---|
유저(User)와 기능(투표, 질문) (0) | 2024.04.28 |
시리얼라이저(Serializer)와 에러(Error) (0) | 2024.04.28 |
뷰(View)와 템플릿(template) (1) | 2024.04.28 |