강의 링크: Learn Django by Building an Online Marketplace – Python Tutorial for Beginners
# 어드민 페이지 접속을 위한 계정 만들기
manage.py 파일이 있는 경로로 이동하여 아래 명령어 입력
$ python manage.py createsuperuser
그러면 아래와 같이 유저 네임, 이메일 주소, 비밀번호를 입력하라고 뜬다.
이때 어떤 정보를 입력하면 되냐면, 추후 어드민 페이지에 로그인할 때 사용할 유저 네임과 비밀번호를 입력하면 된다.
어드민 페이지는 장고 프로젝트 생성 시점에 기본적으로 같이 생성된다. startproject 명령어를 통해 프로젝트를 생성한 직후 {project}/{project}/settings.py 파일의 INSTALLED_APPS 리스트에 기본적으로 포함되어 있는 앱 목록에서 'django.contrib.admin'를 확인할 수 있는데 이 앱이 바로 어드민 페이지를 제공하는 앱이다.
아무튼 위 명령어를 통해 슈퍼유저를 만들게 되면 개발 서버를 실행시키고(python manage.py runserver), 어드민 페이지(/admin)에 진입한 뒤 로그인 정보를 입력하여 로그인하면 된다.
# 어드민 페이지에 모델 등록하기
각 앱의 models.py 파일에 정의한 모델들을 어드민 페이지에서 관리하기 위해선, 해당 앱의 admin.py 파일에 모델을 등록해줘야 한다.
# {project}/{app}/models.py
from django.db import models
# Create your models here.
class Category(models.Model):
name = models.CharField(max_length=255)
# {project}/{app}/admin.py
from django.contrib import admin
from .models import Category
# Register your models here.
admin.site.register(Category)
admin.py에서 모델을 등록하고 어드민 페이지를 새로고침 해보면 다음과 같이 모델이 추가된 것을 확인할 수 있다.
여기서 'Categorys'를 클릭해서 모델 상세 페이지로 들어온 뒤 'ADD CATEGORY' 버튼을 클릭해서 새로운 항목을 추가해보면 어딘가 수정이 필요함을 알 수 있다. :
1. 어드민 페이지 상에서 모델이 복수형으로 표현될 때 장고가 알아서 모델명에 '-s'를 붙이기 때문에, 'Categorys'처럼 문법적으로 틀리게 표현되는 경우가 생길 수 있다.
2. 새로운 항목을 추가하고 목록 상에서 추가된 항목을 보면 아래와 같이 'Category object (1)', 'Category object (2)' 이런 식으로 네이밍 되기 때문에 항목의 내용이 무엇인지 한번에 파악하기가 어렵다.
1번 문제를 개선하기 위해선 다음과 같이 models.py에 작성한 모델에 메타 데이터를 추가해주면 된다.
from django.db import models
# Create your models here.
class Category(models.Model):
name = models.CharField(max_length=255)
class Meta:
verbose_name_plural = 'Categories'
2번 문제를 개선하기 위해선 string representation 항목을 다음과 같이 덮어쓰면 된다.
from django.db import models
# Create your models here.
class Category(models.Model):
name = models.CharField(max_length=255)
class Meta:
verbose_name_plural = 'Categories'
def __str__(self):
return str(self.name) # name 필드 값으로 표시
어드민 페이지 새로고침하면 변경사항을 확인할 수 있다.
'학습 내용 > Back-End' 카테고리의 다른 글
[freeCodeCamp] Django로 쇼핑몰 만들기 실습 - 6. SQLite (1) | 2024.12.10 |
---|---|
[freeCodeCamp] Django로 쇼핑몰 만들기 실습 - 5. 로그인 기능 (0) | 2024.12.04 |
[freeCodeCamp] Django로 쇼핑몰 만들기 실습 - 4. 회원가입 기능 (0) | 2024.12.04 |
[freeCodeCamp] Django로 쇼핑몰 만들기 실습 - 2. 뷰(view) 만들기 (0) | 2024.11.24 |
[freeCodeCamp] Django로 쇼핑몰 만들기 실습 - 1. 프로젝트 생성하기 (0) | 2024.11.22 |