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

[django 기초] admin 사용법

꼬예 2021. 12. 14.
[django 기초] admin 사용법

목차

    [django 기초] admin 사용법

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

     

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

    [django 기초] admin 사용법

     

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

     

    [django 기초] admin 사용법

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

    [django 기초] admin 사용법

     

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

    [django 기초] admin 사용법

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

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

     

     

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

    [django 기초] admin 사용법

     

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

    [django 기초] admin 사용법

     

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

     

     

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

    [django 기초] admin 사용법

     

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

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

     

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

     

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

    [django 기초] admin 사용법

     

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

    [django 기초] admin 사용법

     

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

    [django 기초] admin 사용법

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

     

    [django 기초] admin 사용법

     

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

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

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

    [django 기초] admin 사용법

     

     

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

    [django 기초] admin 사용법

     

     

    이를 해결 하기 위해 

    [django 기초] admin 사용법

     

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

    [django 기초] admin 사용법

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

    댓글