Web 공부/Django

Django CRUD

sumiin 2022. 3. 25. 18:43
반응형
SMALL

새로운 프로젝트 생성 

mkdir {새로운 폴더명}
cd {새로운 폴더명}
pyenv local django-envs
django-admin startproject {새로운 프로젝트명}
cd {새로운 프로젝트명}

 

TIME_ZONE = 'Asia/Seoul'
settings.py에 TIME_ZONE 변경

 

 python manage.py startapp {앱 이름}

터미널에서 앱 생성

settings.py의 INSTALLED_APPS에 앱 이름 추가해줘야함!!

 

 python manage.py migrate

그 후 Django에 반영시키기 위해 migrate 시켜줌

 

 

from django.db import models

# Create your models here.
class Post(models.Model):
    title=models.CharField(max_length=50)
    content=models.TextField()
    dt_created=models.DateTimeField(verbose_name="Date Created",auto_now_add=True)
    dt_modified=models.DateTimeField(verbose_name="Date Modigfied",auto_now=True)

    def __str__(self):
        return self.title

CharField()는 길이 지정해야하고 TextField는 길이지정 x 주로 TextField는 내용 부분에 쓰임

 

DateTimeField

  • 날짜 + 시간 형식의 필드 
  • verbose_name은 사람이 인식하기 좋은 별명을 필드에 설정
  • auto_now와 auto_now_add를 매개변수로 가지고 있음
  • auto_now는 포스트가 마지막으로 저장될 때 시간을 자동적으로 해당 필드에 저장
  • auto_now_add는 포스트가 처음 생성될 때의 시간을 자동적으로 해당 필드에 저장

__str__ 함수 return값이 title이기 때문에 shell에서 Posts.objects 조회해보면 title 나옴

 

__사람이 인식하기 좋은 별명을 필드

 

python manage.py makemigrations
python manage.py migrate

터미널에 입력해서 변경된 모델 반영시킴

 

 

 

반응형
LIST

'Web 공부 > Django' 카테고리의 다른 글

폼(Form)  (0) 2022.03.29
Django URL naming  (0) 2022.03.25
Django admin 페이지에서 줄바꿈 문제 해결 breaksbr  (0) 2022.03.25
Django 빠르게 배포하기  (0) 2022.03.25
Model  (0) 2022.03.24