본문 바로가기

Project/ToyProject

[Rmanager] Backoffice - list_display/baton tema

반응형

Django-admin은 개발자만 사용할 수 있는 관리자 페이지

Django-admin은 모델에 대한 crud를 ui 제공하고 개발에 편한 인터페이스를 가지고 있는 장점을 가지고 있다. 또한 커스터마이징이 굉장히 자유로운 장점

오늘 강의는 관리자페이지를 커스터마이징 하는 방법들에 대해 배우는 과정이다

현재 상태에서는 user를 생성해 원하는 권한만 부여할 수 있는 상태이다

주문페이지에서 상태와 메모필드를 추가해 이전보다 조금 더 관리자 페이지답게 커스터마이징을 했다

default = 대기중, null=True/ blank=True 코드를 통해 빈 값이어도 등록할 수 있게 하였고, 이전 제품들의 상태를 기본값으로 지정해놓았다

후에 python3 manage.py makemigrations - python3 manage.py migrate

python 옆에 3이 붙은 이유는

기존에는 virtualenv 가상환경을 사용했지만, venv를 사용하기로 바꿔서 코드 또한 변경되었다

admin.py 에서 list_filter 코드를 통해 관리자 페이지에서 원하는 값만 추출해서 볼 수 있게 만들었고,

튜플 형식이기에 'status', 콤마를 빼먹지 않게 주의하였다

하지만, 이렇게 코드를 작성하였을때는 '상태' 부분이 관리측면에서 누구나 쉽게 접근하여 타자로 변경할 수 있기에 코드를 변경하기로 했다.

status 필드 안에 choices 기능을 넣고 안에 튜플 형식 안에 튜플 형식으로 원하는 값들을 지정해 놓았다.

그 결과 해당 페이지에서는 체크박스형태로 아무 값이나 넣을 수 있는 것이 아닌 지정해 놓은 값들 중에 선택만 할 수 있게 되었다.

기존에는 list_display에 변수만 사용하였는데

from django.utils.html import fromat_html 을 임포트하고 함수를 사용하였다

html처럼 스팬을 사용할 수 있고 각 항목마다 글자색을 변경하여 보다 편하게 볼 수 있게 구현하였다.

from django.contrib.humanize.templatetags.humanize import intcomma / import

기존에는 상품 페이지에서 가격과 재고가 단위와 콤마가 지정되어 있지 않았다

휴머나이즈를 임포트하고 f스트링을 사용하여 각각 단위를 지정하였고, 숫자 안에 intcomma를 추가하였다.

baton tema 사용하기

- python3 -m pip install django-baton

- settings.py installed app 가장 위에 baton 추가 / 가장 아래에 baton.autodiscover 추가

url 설정 (include import - path경로 설정하기)

새로운 앱을 추가했기 때문에 makemigrations-migrate 실행 후 runserver

admin 사이트에 baton테마가 입혀져 있는 걸 확인 하였다. 하지만 수정해야 할 부분들이 있는데,

파비콘 쪽 타이틀/ 메뉴 타이틀 / 헤더 / 카피라이트 등등

이런 부분들은 settings에서 수정!!

그리고 fcuser - admin.py 에서 사진과 같이 타이틀과 헤더 부분을 수정하였다

기존 관리자페이지보다 테마를 입히니 훨씬 나은 것 같다!!

반응형

'Project > ToyProject' 카테고리의 다른 글

[Rmanager] Backoffice - button  (0) 2021.07.31
[Rmanager] Backoffice customizing  (0) 2021.07.31
[Rmanager] Decorator  (0) 2021.07.31
[Rmanager] generic view  (0) 2021.07.31
[Rmanager] Basic code/ login/ board  (0) 2021.07.31