- Today
- Total
Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 자료구조 강의
- 파이썬 강의
- c언어
- 파이썬3
- 파이썬 자료구조
- 대학시험
- 알고리즘 강의
- 파이썬 강좌
- 코딩문제
- 채용문제
- 알고리즘 강좌
- selenium
- 자료구조
- 중간시험
- 쉬운 파이썬
- 기말시험
- 면접 파이썬
- 셀레니움
- Crawling
- 알고리즘
- 프로그래밍
- python 중간고사
- 파이썬활용
- gdrive
- 코딩시험
- 파이썬 알고리즘
- 크롤링
- python data structure
- 파이썬 입문
- 파이썬
Notice
반원 블로그
django 생성한 앱의 모델을 admin에 등록하기 본문
1. 생성한 앱의 admin.py에 들어가자. 여기서 app은 fuser를 이용한다.
admin.py에는 관리자 페이지에서 쓸 정보를 기입하도록 되어있다.
from django.contrib import admin
# Register your models here.
2. 먼저 model.py안에 있는 Fuser 클래스를 참조하자.
그리고 admin에 등록하는 코드까지만 심플하게 작성한다.
from django.contrib import admin
from .models import Fuser
# Register your models here.
class FuserAdmin(admin.ModelAdmin): #admin의 ModelAdmin 클래스를 상속
pass #상속만 받아 새로운 클래스를 생성
admin.site.register(Fuser,FuserAdmin) #admin 페이지에 등록
이제 Fusers에 들어가서 추가/수정 등의 작업을 할 수 있다.
그런데 지금은 회원을 추가해도 불편하게 나온다. (특정 데이터를 변환하니 '클래스명 object'로 나온 것)
이를 좋게 수정해보도록 하자.
3. (방법1) models.py에서 def __str__ 정의하기
파이썬은 특정 객체(클래스)를 문자열로써 호출할 때 __str__ 함수가 실행되도록 되어있다..
from django.db import models
# Create your models here.
class Fuser(models.Model): # models.Model를 상속
username = models.CharField(max_length=32,
verbose_name='사용자명' # admin 페이지에서 보일 컬럼명
)
#5~7을 드래그 한뒤 Alt+Shift+Down하면 편함
password = models.CharField(max_length=64,
verbose_name='비밀번호' # admin 페이지에서 보일 컬럼명
)
register_dttm = models.DateField(auto_now_add=True, # 자동으로 해당 시간이 추가됨
verbose_name="가입날짜"
)
#데이터가 문자열로 변환이 될 때 어떻게 나올지(반환해줄지) 정의하는 함수가 __str__이다.
def __str__(self):
return self.username
#별도로 테이블명을 지정하고 싶을 때 쓰는 코드(안해도 됨)
class Meta:
db_table = 'user_define_fuser_table' #테이블 명 지정
4.(방법2) 여러가지 정보를 한번에 보기위해 admin.py에서 상속만해서 만든 class에 정보를 추가한다.
이 때 class에 list_display 변수(admin 페이지에서의 필드명이 list_display인 것)에 데이터를 다음처럼 넣어주면된다.
from django.contrib import admin
from .models import Fuser
# Register your models here.
class FuserAdmin(admin.ModelAdmin): #admin의 ModelAdmin 클래스를 상속
# pass #상속만 받아 새로운 클래스를 생성
list_display = ('username','password')
admin.site.register(Fuser,FuserAdmin) #admin 페이지에 등록
5. 이번에는 어드민 페이지에서 Fusers라고 앱명이 나오는 부분을 수정해보자.
models.py에서 class Meta에 verbose_name = '앱이 보여질 명칭'으로 설정하면 된다.
from django.db import models
# Create your models here.
class Fuser(models.Model): # models.Model를 상속
username = models.CharField(max_length=32,
verbose_name='사용자명' # admin 페이지에서 보일 컬럼명
)
#5~7을 드래그 한뒤 Alt+Shift+Down하면 편함
password = models.CharField(max_length=64,
verbose_name='비밀번호' # admin 페이지에서 보일 컬럼명
)
register_dttm = models.DateField(auto_now_add=True, # 자동으로 해당 시간이 추가됨
verbose_name="가입날짜"
)
#데이터가 문자열로 변환이 될 때 어떻게 나올지(반환해줄지) 정의하는 함수가 __str__이다.
def __str__(self):
return self.username
#별도로 테이블명을 지정하고 싶을 때 쓰는 코드(안해도 됨)
class Meta:
db_table = 'user_define_fuser_table' #테이블 명 지정
verbose_name = '사용자 모임' #노출될 테이블 이름 변경
자동으로 붙는 s를 대체해주기 위해서 verbose_name_plural 을 지정해준다.
#별도로 테이블명을 지정하고 싶을 때 쓰는 코드(안해도 됨)
class Meta:
db_table = 'user_define_fuser_table' #테이블 명 지정
verbose_name = '사용자 모임' #노출될 테이블 이름 변경
verbose_name_plural = '사용자 모임'
'2018~ > Django 개인 공부 정리' 카테고리의 다른 글
django - static 폴더 관리 + js와 css 위치 (0) | 2019.09.06 |
---|---|
django - 이메일 필드 추가 (0) | 2019.09.06 |
django 회원 가입 - DataBase에 저장, 패스워드 부호화, 미입력 처리 (0) | 2019.09.04 |
django 회원가입 페이지 id 속성 변경. 프론트에서 백으로 데이터 전송 (0) | 2019.09.04 |
django 템플릿(T)와 뷰(V) 생성하고 연결하기 (0) | 2019.09.04 |
django 어드민(admin) 페이지 처음 확인하기 (0) | 2019.09.04 |
django 모델(Model)과 데이터베이스 만들기 (0) | 2019.09.03 |
Django 환경 세팅 절차 (0) | 2019.09.03 |
Comments