[Series1. DashBoard 만들기] - 4. Admin 계정관리 및 SuperUser 생성

django_apps·2021년 9월 16일
0

django apps

목록 보기
4/17
post-thumbnail

Admin 계정에 Model 제어 권한 주기

django 에는 기본적으로 관리자(Admin) 계정이 존재해서, 간단히 Model을 제어할 수 있도록 되어 있다.

저번 포스팅에서 만들었던 Post Model를 제어할 수 있게 Admin 계정으로 권한을 주는 코드를 작성하여 보자.

아래 코드를 velog_series_01/dashboard/dashboard_core/admin.py 에 삽입하자.

from django.contrib import admin
from dashboard_core.models import Post

# Register your models here.
admin.site.register(Post)

위 코드로 인해, django 의 Admin 계정으로 Post Model에 대해 자유롭게 데이터를 제어할 수 있게 되었다.

SuperUser 생성

그러나, 안타깝게도 아직 우리에게는 실제 확인할 Admin 계정이 없다.
이제부터 Admin계정 (SuperUser)을 만들어 보자.

지금부터 만들 superuser 계정은 우리가 처음에 만들었던 DashBoard 프로젝트에 딸린 모든 앱들을 포함하여 모든 데이터를 일괄 관리할 수 있는 계정이므로, 많은 권한이 따라오게 된다.

아래 커맨드를 실행하여 보자.

python manage.py createsuperuser

위처럼 Username 을 입력하라고 나온다.
입력하고 Enter 키를 누르기를 반복하면서, email, password 도 입력하도록 한다.

password 입력부분에서 글자수가 부족하다던가, 쉬운 비밀번호를 입력하면 아래처럼 경고가 뜨긴 하지만 지금은 연습용 프로젝트이기도 하고 무시해도 진행하는데에는 문제가 없으니 아래 처럼 y 를 선택하여 superuser을 만든다.

Bypass password validation and create user anyway? [y/N]: y

아래처럼 superuser 가 생성되었다.

드디어 Admin 계정인 superuser 가 만들어졌다.

django 서버를 가동시켜서 관리자계정으로 로그인이 되는지 확인해보자.

아래 커맨드로 django 서버를 올린다.

python manage.py runserver

에러 없이 실행 성공이다!

웹브라우저에서 아래 path로 들어가보자.

http://localhost:8000/admin

아래처럼 관리자 로그인 화면이 로드된다.
방금전에 커맨드로 superuser 생성했을 때, 입력했던 Username과 Password로 로그인 해본다.

아래처럼 메인 화면이 로드되면 로그인 성공이다!

화면이 보이는 것처럼, 우리가 생성했었던 Post 모델도 보이고 있고 당연히 삽입, 수정, 삭제 등도 간단히 할수 있다.

그러나 위 기능은 언제까지나 관리자 계정 전용이기 때문에,
누구라도 Model의 데이터를 볼 수 있어야 하고, 등록이 가능해야한다. 그리고 본인이 쓴 글이라면 수정, 삭제도 가능해야 한다.

다음에는 일반 유저라도 Model에서 CRUD 처리가 가능하도록, API의 작성법에 대해서 알아보고, Model을 경유하면서 데이터를 전송할때 Data를 어떻게 보내고 받는지 포스팅하도록 하겠다.

Thank you!

profile
django developer

0개의 댓글