이끼의 생각

Django Web (8) 장고 관리자 (어드민, admin) 본문

파이썬 장고 웹 프레임워크

Django Web (8) 장고 관리자 (어드민, admin)

IKKIson 2019. 5. 20. 11:45

장고는 자동 관리 인터페이스라는 아주 강력한 기능을 지원합니다. 관리자나 관리자권한의 사용자가 웹서버의 콘텐츠를를 관리하기위한 도구들을 관리자전용페이지에서 지원해줍니다.

모델의 메타 데이터를 읽어서 신뢰할 수있는 사용자가 사이트의 콘텐츠를 관리 할 수있는 모델 중심의 빠른 인터페이스를 제공합니다. 관리자의 권장 사용은 조직의 내부 관리 도구로 제한됩니다. 




장고 관리자


우선 관리자 화면을 한국어로 변경을 해보겠습니다. setting.py에서 LANGUAGE_CODE를 찾아주세요.


- 경로 : 프로젝트명/하위프로젝트명/setting.py

- 게시글 기준 위치 : IKKIsonDjango/IKKIsonDjango/setting.py




LAUNGUAGE_CODE의 값이 'en-us'로 되있을 겁니다. 한국어로 바꾸기 위해 'ko' 라는 값을 넣어 줍니다.


LANGUAGE_CODE = 'ko'





바꾸기 전





바꾼 후







장고 관리자 직접 사용해보기


우리가 실습하고 있는 블로그 글 모델이나 개발하는 앱들을 장고 관리자에서 추가, 수정, 삭제가 가능합니다.



(1) 관리자에 모델 등록하기


추가 하고 싶은 모델이 있으면 그 모델을 사용하는 앱의 admin.py 파일에서 내용을 추가하면 됩니다.


from django.contrib import admin

from .models import 내가 만든 모델


admin.site.register(내가 만든 모델)



지금 실습하고 있는 블로그의 게시글 모델을 추가한다면? 아래의 코드처럼 되겠네요~

admin.py 위치 : IKKIson/blog/admin.py


from django.contrib import admin

from .models import Post


admin.site.register(Post)





코드를 읽어보시면 눈치채셨을 겁니다. 먼저 정의한 모델을 import 하여 관리자 페이지에서 만든 모델을 보기위해 admin.site.register() 로 모델을 등록해야됩니다.



(2) 관리자 계정 만들어보기


관리자 페이지에서 내가 만들고 관리한 앱, 모델들을 관리할 것인데 먼저 로그인을 해야겠죠?


그런데 로그인할 계정이 없네요.


로그인을 하기위해서는 모든 권한을 가지고 있는 슈퍼사용자(Super User) 계정을 생성해야됩니다.


프롬프트(커멘터라인, 터미널)로 돌아가서 아래의 명령어를 실행해서 슈퍼사용자를 만들어 


> python manage.py createsuperuser


명령어를 실행하면 처음에 이런화면이 나옵니다.





메시지가 나타나면 사용자 이름 (소문자, 공백 없이), 이메일 주소 및 암호를 입력합니다. password를 입력할 때 화면에 글자가 보이지 않는다고 해도 걱정하지 마세요. 원래 password는 화면에 보이지 않습니다. 작성한 후에 enter를 누르세요. 실행화면은 아래와 같을 거예요. (슈퍼 사용자로 사용할 username 과 email 주소는 본인 계정을 사용하세요)


(myvenv) ~/djangoproject$ python manage.py createsuperuser

Username: admin

Email address: admin@admin.com

Password:

Password (again):

Superuser created successfully.


다음은 실제로 실행된 화면입니다.



이제 등록이 되었습니다.



(3) 관리자페이지에서 블로그 포스트 올려보기


관리자 페이지에서도 특별한 HTML, UI를 추가로 만들 필요없이 간단하게 작업할 수 있습니다.


이 프로젝트는 공부용이니 비밀번호도 간단하게 만들어봤어요. 비밀번호가 간단하니 비밀번호에 대해 주의를 주는 메시지가 뜨내요. 무시하고 진행하겠습니다.~


다시 브라우저에서 관리자페이지로 돌아가 로그인을 해봅시다. 로그인을 하시면 대시보드를 확인할 수 있습니다.



우리가 만든 Blog 앱과 Post 모델도 보이내요!!


블로그 포스트를 5~6 개정도 올려볼까요? 테스트용으로 올리는 거니 내용은 뭐 걱정안해도 되죠

저는 장고 공식 문서의 튜토리얼에 있는 텍스트들을 그냥 복사, 붙여넣기 해볼께요



'추가' 를 눌러서 게시글을 올려봅시다~


게시글을 작성하기전에 페이지를 확인해볼까요??



models.py 에서 Post클래스에서 작성한 Author, Title, Text, Create_date, Published_date와 데이터 타입까지 그대로 생성됬네요.


간단하게 게시글을 작성해주고



게시글들을 볼 수 있네요.






**출처 및 참고**

[블로그] 초보몽키님의 개발공부로그

[Wikidocs] 핀코인님의 Django 자습

[프로그래머스] 정두식님의 장고를활용한 웹사이트만들기 동영상강의

[오픈소스튜로리얼] Quasar Beyond님의 Django : Python WebFrameWork 동영상강의

[장고걸스공식] 이수진님 외. 장고걸스 튜토리얼 한국어번역

[장고걸스공식] 이수진님 외. 장고걸스 튜토리얼 심화 한국어번역

장고 공식 Document Tutorial



Comments