무효 클릭 IP 추적 중...
파이썬/django(장고)

[django 기초] admin 사용법

꼬예 2021. 12. 14.

장고 프로젝트를 생성하고 urls.py 에 기본적으로 작성되어있다. 

 

장고 서버를 키고 해당 url로 접속하면 아래와 같은 화면이 뜬다.

 

이때 최초  username과 password 를 생성해줘야 하는데, 아래 명령어를 쳐주면됨.

 

## django.db.utils.OperationalError: no such table: auth_user << 이런 오류발생시 , 아래 명령어를 통해 필요한 데이터 베이스를 구축한다.

 

이상없이 실행될때는 Username, Email address, password 를 묻게 되는데,

Email address 는 선택사항이니 그냥 엔터를 쳐서 스킵해도 된다.

Password 같은 경우에는 키를 입력해도 아무것도 안나오니, 안나온다고 당황하지말자!

 

 

등록을 완료했으면 admin 페이지에 접속을 해보자! 여기 Users를 클릭해보면

 

아래와 같이 방금 등록한 아이디가 등록되어있는 것을 알 수있다. 

 

우리가 웹페이지에서 회원가입을 하면 이 Users안에 차곡 차곡 쌓이게된다. 

 

 

우측 상단을 보면 admin 상단에 버튼을 통해 user 생성도 가능하다.

 

우리가 웹페이지에서 회원가입 template 만들고 여러 로직을 짤필요 없이 admin에서는 이러한 작업을 바로 가능하게 해준다.

데이터베이스상의 데이터를 아주 손쉽게 조회, 삭제, 추가가 가능한것이다. 즉 웹 ui를 구성하기전 간단하게 로직을 작성하고 데이터베이스를 확인하는 용도로 사용하기 편리하다.

 

User 모델은 장고에서 디폴트로 admin에서 관리가능하도록 세팅되어있지만, 다른 모델은 약간의 코딩을(?) 통해 추가를 해줘야 한다.

 

심플한 Post 모델을 만들어 보았다.

 

admin.py 에서 아래와 같이 등록을 해주면된다.

 

실제로 admin 페이지 들어가보면 새롭게 post모델이 새롭게 추가된것을 알 수 있다. 

아직 post모델에는 아무것도 없기때문에 0 posts 이다.

 

 

# 또다른 방법으로는 아래와 같이 데코레이터 문법을 이용한 방법도 가능하다.

@admin.register() 안에 모델을 넣고

내가 원하는 이름의 클래스명(여기선 PostAdmin) 으로 admin.ModelAdmin 을 상속받은 클래스 형태이다.

 

 

admin창에서 포스트를 몇개 생성해 보았다.  아래와 같이 Post object(숫자) 형태로 뜨게되는데, 저렇게 뜨면 어떤 포스트인지 확인하기 어렵다. 

 

 

이를 해결 하기 위해 

 

__str__ 함수를 추가해주면, 제목이 변경된것을 알 수 있다. 여러분이 원하는 어떤 형태든 커스터마이징 가능하다.

  • 트위터 공유하기
  • 페이스북 공유하기
  • 카카오톡 공유하기
이 컨텐츠가 마음에 드셨다면 커피 한잔(후원) ☕

댓글