GitHub

https://github.com/Choidongjun0830

노마드 코더 Airbnb 클론 코딩

노마드 코더 에어비앤비 클론코딩 #4 App 만들기

gogi masidda 2022. 10. 9. 22:08

App 만들기 : 'python manage.py startapp app이름'  -> App이름 폴더가 생성됨.

 

models.py: App에서 데이터의 모양을 설명하는 파일. 파이썬 코드와 클래스로 설명해야함.

class House(models.Model): #Model을 상속받아야함.
	name = models.CharField(max_length=140) #추가할 각각의 요소의 데이터 타입을 적어주어야함.
    price = models.PositiveIntegerField()

max_length와 같이 attribute나 다른 정보들은  https://docs.djangoproject.com/en/4.1/ django 공식 문서를 보면 알 수 있다. 

 

App를 만들면 config/settings.py에 있는 INSTALLED_APPS에 경로를 적어주어야함. 여기서 경로는 models.py의 경로가 아니라, 우리가 만든 App이름 폴더의 apps.py에 있는 class명이다. 

django는 커스텀 데이터에 대한 관리 패널을 자동으로 생성해줄 수 있다.

만든 App 폴더의 admin.py에서 'from .models import 클래스명'을 해주어야한다.

이후에 아래 코드와 같은 것을 할 수 있다.

@admin.register(House) #House를 위한 admin
class 이름(admin.ModelAdmin): #ModelAdmin은 우리의 model을 위한 Admin 패널
	#기본 admin패널에서 수정할 것이 없다면 pass
    list_display = (...)
    list_filter = (...)
    search_fields = (...)

위 내용의 예시

이후에 그냥 적용하면 오류가 생긴다. migration을 해주어야 하는데, 이번에는 직접 DB 파일을 만들어주어야한다.

'python manage.py makemigrations'을 입력해주어야한다. 그리고 똑같이 'python manage.py migrate'를 해주면 정상적으로 보인다.

적용 이후의 django

728x90