[Django] model & admin [part1]

최더디·2020년 9월 2일
0

Model 에 데이터를 어떻게 담을 것인가 ?
Model 의 데이터를 어떻게 View 로 넘길 것인가 ?
그것을 어떻게 화면에 띄울 것인가 ?

Model ( DB 를 다룬다 )


  • DB는 Django 와 별개! (여러 개가 있을 수 있다.) // settings.py 안에 지정을 해서 여러 개 사용가능
  • Dafault 값으로 sql 을 제공한다.

Models.py


  • models.py 안에 가공하고자하는 데이터 형식을 "Class(클래스)"로 지정해주면 된다.
class Blog(models.Model):
	title = models.CharField(max_length = 200)
    pub_date = models.DateTimeField('date published')
    body = models.TextField()
    
# 어떤 변수에 어떤 타입의 데이터를 받을지 써주면 된다.
# 형식 : models.뭐뭐뭐Field(속성)
class Blog(models.Model):
	title = models.CharField(max_length = 200)
    pub_date = models.DateTimeField('date published')
    body = models.TextField()
    
	def __str__(self):
    		return self.title
    # 소소한 꿀팁 (admin/ 사이트에 객체이름이 title로 만들고 싶을때 이 함수를 추가한다)
  • models.py 안에 클래스를 만들었다면, 'Django' 가 'DB' 한테 "이런 데이터를 처리하기로 했어!" 라고 알려줘야한다.
  • 명령어
    $ python manage.py makemigrations // migration 파일을 만드는 과정 (App 폴더 안에 생성된다)
    $ python manage.py migrate //실제로 DB 한테 우리가 만든 것을 적용하는 과정

Admin 계정 만드는 방법


  • 명령어
    $ python manage.py createsuperuser
  • admin 계정을 만든 후 admin.py 안에 데이터 등록을 해야한다.
from django.contrib import admin
from .models import Blog	#import <class이름>

# Register your models here.
admin.site.register(Blog)	# amin.site.register(class 이름)

요약
1. models.py 안에 어떤 종류의 데이터를 처리할지 Class 로 정의
2. DB 한테 알아듣게끔 하기 (makemigration, migrate 명령어)
3. admin 계정 만들기
4. admin.py 에 활용할 데이터 등록

profile
focus on why

0개의 댓글