Web 관련/django

장고(django) #4_ admin 페이지 사용해보기

Tigercow.Door 2018. 7. 31. 00:24


안녕하세요.

이번 포스팅에서는 django에서 admin 페이지를 사용해보도록 하겠습니다.



1. Admin 계정 만들기


먼저 우리는 지난 포스팅까지해서 django와 postgresql의 django_test라는 데이터베이스를 만들어서 연결하였습니다.

그리고 django에서 post라는 모델을 생성하여 migrate 해줌으로써 실제 django_test라는 데이터베이스 내부에 blog_post라는 테이블이 생성된 것을 확인하였습니다.


django에서는 model에 대한 data를 간편하게 확인하고 조작할 수 있는 admin 페이지를 제공해주는데, 이때 admin페이지에는 아무나 접근 가능한 것이 아니고, 서버개발 과정에서 admin 계정을 직접 만들어주어야 합니다.

admin 계정을 만들기 위해서 manage.py 파일이 있는 위치에서 아래 명령어를 입력해줍니다.


python manage.py createsuperuser



명령어를 입력하면 위와 같이 admin 계정에 대한 정보를 입력할 수 있습니다.

여기서 입력한 Username과 password를 통해 admin 페이지에 접근가능합니다. 



2. Admin 페이지 사용하기


이렇게 admin 계정을 만들었다면 이제 서버를 돌려서 주소의 가장 끝에 /admin 을 붙여 admin 페이지에 접근해보겠습니다.



이렇게 접근하면, 아래와 같은 화면이 나타나게 됩니다.



이제 위에서 만들었던 admin 계정의 username과 password를 입력해서 로그인을 합니다.


그런데 로그인을 하고나서 확인을 해보아도 우리가 이전에 만들었던 post와 관련된 것은 찾아볼 수 없습니다.

우리가 마이그레이션을 통해 만들었던 post 모델을 admin 페이지에서 보기 위해서는 이를 admin 페이지에 등록을 해주어야 합니다.


우리가 만든 blog라는 app의 폴더로 들어가보면 admin.py 라는 파일이 있습니다. 해당 파일을 켜서 아래와 같이 작성해줍니다.


1
2
3
4
5
from django.contrib import admin
from .models import Post
# Register your models here.
 
admin.site.register(Post)
cs


그리고 해당 파일을 저장한 뒤에 다시 admin 페이지를 새로고침 해보면,



위와 같이 blog 라는 app에 Posts 라는 것이 새로 생긴것을 확인할 수 있습니다.

실제로 저것을 통해 Posts 라는 테이블에 저장된 값들을 확인할 수 있으며 우리가 직접 데이터를 추가할 수도 있습니다.


이를 직접 확인해보기 위해서, admin 페이지에서 데이터를 입력해보고 postgresql에서 확인해보도록 하겠습니다.


admin 사이트에서 Posts 우측에 있는 Add 버튼을 눌러서 데이터를 추가해보겠습니다.



위와 같이 제목과 내용을 입력하고 Save 버튼을 눌러 데이터를 저장합니다.


그럼 실제로 admin 페이지에서 데이터가 성공적으로 입력되었다는 문구가 뜨고, Posts object도 하나 생긴것을 볼 수 있습니다.


이제 postgresql에서 확인해보도록 하겠습니다.



간단한 SQL문장으로 해당 테이블을 확인해보니 정상적으로 데이터가 입력된 것을 볼 수 있습니다.



이렇게 해서 admin 페이지 사용에 대한 간략한 설명을 진행해보았습니다.

추후에 지속될 포스팅 내용으로는, 개발된 django 어플리케이션을 aws를 이용하여 배포하는 방법을 진행해보도록 할 예정입니다.

728x90