파이썬 Django Admin - 목록 표시를 더 읽기 쉬운 상태로 만들기
Model을 목록으로 표시하면 Django는 각 레코드를 레코드 개체의 문자열 표현으로 표시하며, 이 경우에는 "Member object(1)", "Member object(2)" 등이다.
이를 보다 독자 친화적인 형식으로 변경하려면 다음과 같은 두 가지 옵션이 있다:
- 멤버 모델의 문자열 표현 함수 __str__() 변경
- 멤버 모델의 list_details 속성 설정
파이썬 Django Admin - 멤버표시 문자열 표현 변경
문자열 표현을 변경하려면 models.py 의 멤버 모델의 __str__() 함수를 다음과 같이 정의해야 한다:
my_tennis_club/members/models.py: from django.db import models class Member(models.Model): firstname = models.CharField(max_length=255) lastname = models.CharField(max_length=255) phone = models.IntegerField(null=True) joined_date = models.DateField(null=True) def __str__(self): return f"{self.firstname} {self.lastname}" |
다음과 같은 결과를 얻을 수 있다:
우리만의 __str__() 함수를 정의하는 것은 Django 함수가 아니라, 파이썬에서 객체의 문자열 표현을 변경하는 방법이다.
파이썬 Django Admin - list_display 설정
필드를 admin.py 파일의 list_display 속성에 지정하여 표시하도록 제어할 수 있다.
먼저 MemberAdmin() 클래스를 만들고 다음과 같이 list_display tuple을 지정한다:
my_tennis_club/members/admin.py: from django.contrib import admin from .models import Member # Register your models here. class MemberAdmin(admin.ModelAdmin): list_display = ("firstname", "lastname", "joined_date",) admin.site.register(Member, MemberAdmin) |
memberAdmin을 admin.site.register(Member, MemberAdmin)에서 인수로 추가해야 한다.
이제 브라우저로 돌아가서 다음과 같은 결과를 얻을 수 있다:
이번 글에서는 파이썬 Django 모듈에서 Admin에 멤버를 추가하고 화면에 표현하는 방법을 살펴보았다.
화면에 표현하기 위해 list_display 속성을 활용하였고, __str__() 메소드를 활용하는 것에 대해서 실습하였다.
꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.
모두 화이팅입니다.!!!
출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.
'파이썬 > 파이썬기본문법' 카테고리의 다른 글
파이썬 Django Admin 회원 추가 (0) | 2024.02.29 |
---|---|
파이썬 Django Admin - 회원 수정 (0) | 2024.02.28 |
파이썬 Django admin - 회원관리(member) (0) | 2024.02.26 |
파이썬 Django 사용자 생성 (0) | 2024.02.25 |
파이썬 Django Admin(관리자) (0) | 2024.02.24 |
댓글