본문 바로가기

풀스택 시*련아

[노마드코더]에어비앤비 클론코딩 #3 ~ #4

1. Migrations

마이그레이션은 데이터베이스에 변형이 있다는 것을 알려주는 파이썬 파일이다

각 app의 migrations 파일에 저장된다

 

마이그레이션 만들기

python manage.py makemigrations

마이그레이트 하기

python manage.py migrate

 

 

2. Super user

어드민 권한이 있는 슈퍼 유저를 생성한다

python manage.py createsuperuser

다음은 알아서 하면 된다

 

 

3. apps

장고는 기본적으로 앱 단위로 동작한다

앱은

 

로직 + 데이터

 

라고 생각하면 된다

 

+

앱을 만들면 settings.py에 등록해야 하는데,

#appfilename.apps.appfilename+Config

=> 'houses.apps.HousesConfig'

 

 

4. models

데이터에 대한 설명

장고가 알아서 sql로 바꾸어 준다

class House(models.Model):

    name = models.CharField(max_length=140)
    price = models.PositiveIntegerField()
    description = models.TextField()
    address = models.CharField(max_length=140)
    recommend_rate = models.SmallIntegerField()

    def __str__(self) -> str:
        return str(self.name) + ' | ' + str(self.address)

반드시 models.Model을 상속해주어야 한다

 

 

 

5. Admin

내가 장고를 하면서 가장 놀란 부분이 어드민 패널이다.

어드민 패널은 아주 쉽게 커스터마이징이 가능하다

 

모델을 어드민에 등록할때는

해당 앱에 있는 models.py에서 등록할 모델을 불러와야 한다

그 다음 데코레이터를 써주고

admin.ModelAdmin을 상속한 클래스를 선언해주면 된다

from .models import ModelName

@admin.register(ModelName)
class ModelNameAdmin(admin.ModelAdmin):
	...

 

몇가지 기억해놓으면 좋을 커스터마이징이다

@admin.register(House)
class HouseModelAdmin(admin.ModelAdmin):
    list_display = [	#리스트뷰에서 보여질 항목들이다
        "name",		#항목들을 추가하면 해당 항목으로 정렬할 수 있는 기능또한 추가된다
        "price",
        "recommend_rate"
    ]

    list_filter = [	#리스트뷰의 오른쪽에 필터기능을 추가한다
        "price"
    ]

    search_fields = [	#검색에 기준이 되는 항목들을 추가한다
        "name",
        "address"
    ]

 

 

 

'풀스택 시*련아' 카테고리의 다른 글

장고 urls.py  (0) 2023.01.27
장고 지금까지 사용했던 Admin  (2) 2022.11.30
Poetry에서 Django 시작하기  (0) 2022.09.05
맥 파이썬 Poetry 설치하는법  (0) 2022.09.05