Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 심플소프트웨어
- graphicdriver
- machinelearning
- 인하대학교
- 인하멘토링
- 봉사활동
- 인천남중
- intell
- 신영준
- 놀이동산의슈퍼컴퓨터를작동시켜라
- 2019회고
- 개발자를위한파이썬
- 서구동구예비군훈련장
- 프로그라피
- CrossAngle
- 한빛미디어
- texttospeech
- 결과를얻는법
- Xangle
- 노트북덮개
- 서버로그
- 우분투비트확인
- 로그남기기
- 프로그래머스
- 개발자회고
- jaypark.dating
- 타코트론
- 나는리뷰어다
- tacotron
- 쇠막대기
Archives
- Today
- Total
jc.jang
15강 User Admin 커스텀하기 본문
주제
- User Admin을 커스텀한다.
- 자주사용하는 list_display, list_filter, actions 필드를 재정의한다.
노트
- 지난 포스팅 14강 커스텀 User Model 만들기 중 세번째 방법으로 AbstractUser 모델 상속을 이용해 성별 필드를 추가했다.
- 지금은 장고의 기본 데이터베이스 엔진인 sqlite3를 사용하고 있어서 에러가 발생하지 않지만, 다른 엔진이라면 성별의 초기값이 없어서 에러가 발생한다.
- 따라서 다음과 같이 UserManager 클래스를 재정의해야한다.
- accounts/models.py
class UserManager(AuthUserManager):
def create_superuser(self, username, email, password, **extra_fields):
extra_fields.setdefault('sex', 'm')
return super().create_superuser(username, email, password, **extra_fields)
- extra_fields에서 성별의 기본값을 설정해준다.
- 이제 기본적인 admin 페이지를 커스텀해보자.
- accounts/admin.py
@admin.register(User)
class UserAdmin(AuthUserAdmin):
list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff')
list_filter = ('is_staff', 'is_superuser', 'is_active', 'groups', UserDateJoinedFilter, 'sex')
actions = ['send_marketing_email']
def send_marketing_email(self, request, queryset):
for user in queryset:
pass
self.message_user(request, 'hello world')
- list_display: admin 페이지에 표시되는 레코드들의 필드 지정
- 표시하고자하는 필드를 튜플에 할당
- list_filter: admin 페이지 오른쪽에 표시되는 필터 활성화
- 표시하고자하는 필터를 튜플에 할당
- UserDateJoinedFilter처럼 Filter도 커스텀 할 수있다.
- 필터를 커스텀하는 방법은?
- 공식문서의 예시 참고
- class를 생성하고 title, parameter_name 속성 값 정의 lookups, queryset 메소드 정의
- actions: 사용할 수 있는 액션 목록
- 액션으로 사용할 메소드를 설정
- 공식문서의 예시 참고
- 메소드를 만들고 actions 필드에 딕셔너리로 할당
질문
- 강의 들으면서 궁금한게 있으면 구글링하는데, 장고 공식문서가 정말 잘 정리되어있다.
- 공식 문서만 날잡고 읽어도 좋을 것 같다.
요약
- User Admin을 커스텀 할 수있다.
- 장고의 공식문서를 읽고 사용할 수 있다.
날짜
- 오후 11시, 20190908
'Django > Django - 인증편' 카테고리의 다른 글
17강 중복 로그인 막기 (0) | 2019.09.09 |
---|---|
16강 Permission 시스템을 통한 사용자 접근 제한하기 (2) | 2019.09.09 |
14강 커스텀 User Model 만들기 (0) | 2019.09.05 |
13강 암호 재설정 구현하기 (0) | 2019.09.03 |
12강 암호 변경 구현하기 (0) | 2019.09.03 |
Comments