Python/Django

[Django] Admin으로 Table 관리하기

yubi5050 2022. 6. 1. 00:43

1. Project 및 APP 생성

$ django-admin startproject custom_admin
$ cd custom_admin
$ django-admin startapp app1

 

2. custom_admin / Settings.py APP 추가

INSTALLED_APPS = [
	...
    'users',
]

 

3. app1 models.py 작성

- Django에서 미리 만들어놓은 User Table(AbstractUser)을 상속 받아 사용.

- etc_text 라는 필드 추가 생성

from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.

class UserModel(AbstractUser):
    class Meta:
        db_table = "custom_user"
    # 기본 값들은 다 Django의 AbstractUser 것들 따라쓸꺼임.
    etc_text = models.CharField(max_length=256, default='')

 

4. app1 admin.py 작성

- 만든 Custom UserModel을 admin에 등록해준다.

- admin을 통해 관리하고 싶은 Model 들은 전부 admin 에 등록 해주면 된다.

from django.contrib import admin
from .models import UserModel

admin.site.register(UserModel) # 이 코드가 나의 UserModel을 Admin에 추가 해 줍니다

 

5. Superuser 생성 및 서버 동작

- Admin 환경에서 사용할 계정을 생성한다. 

$ python manage.py createsuperuser 
$ python manage.py runserver

서버를 켠 후 http://127.0.0.1:8000/admin/ 접속

 

6. admin 계정 로그인 및 DB 등록하기

- 등록한 USERS Models에 대한 컨트롤이 가능해진다.

로그인 후 화면

- 아래와 같이 Django에서 기본적으로 만들어 둔 Field에 따라 레코드도 추가 할 수 있다.

USER 테이블 레코드 추가