from django.contrib import admin
from polls.models import Question, Choice
class QuestionAdmin(admin.ModelAdmin):
# fields 라는 속성이름은, 이미 정해져 있는 속성이름 이므로, 변경하면 안됨
fields = ['pub_date','question_text']
admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice)
from django.contrib import admin
from polls.models import Question, Choice
# Register your models here.
class QuestionAdmin(admin.ModelAdmin):
# fields = ['pub_date','question_text']
# fieldsets 라는 속성이름은, 이미 정해져 있는 속성이름 이므로, 변경하면 안됨
fieldsets = [('Question Statement', {'fields':['question_text']}),
('Date Information', {'fields':['pub_date']})]
admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice)
class QuestionAdmin(admin.ModelAdmin):
# fields = ['pub_date','question_text']
fieldsets = [('Question Statement', {'fields':['question_text']}),
('Date Information', {'fields':['pub_date'],'classes':['collapse']}),]
admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice)
classes':['collapse']
를 추가해 준다.from django.contrib import admin
from polls.models import Question, Choice
# Register your models here.
class ChoiceInline(admin.StackedInline):
model = Choice
extra = 2
class QuestionAdmin(admin.ModelAdmin):
# fields = ['pub_date','question_text']
fieldsets = [('Question Statement', {'fields':['question_text']}),
('Date Information', {'fields':['pub_date'],'classes':['collapse']}),]
inlines = [ChoiceInline]
admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice)
from django.contrib import admin
from polls.models import Question, Choice
# Register your models here.
# 상속받는 클래스만 변경
class ChoiceInline(admin.TabularInline):
model = Choice
extra = 2
class QuestionAdmin(admin.ModelAdmin):
# fields = ['pub_date','question_text']
fieldsets = [('Question Statement', {'fields':['question_text']}),
('Date Information', {'fields':['pub_date'],'classes':['collapse']}),]
inlines = [ChoiceInline]
admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice)
from django.contrib import admin
from polls.models import Question, Choice
# Register your models here.
class ChoiceInline(admin.TabularInline):
model = Choice
extra = 2
class QuestionAdmin(admin.ModelAdmin):
# fields = ['pub_date','question_text']
fieldsets = [('Question Statement', {'fields':['question_text']}),
('Date Information', {'fields':['pub_date'],'classes':['collapse']}),]
inlines = [ChoiceInline]
list_display = ('question_text','pub_date')
admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice)
from django.contrib import admin
from polls.models import Question, Choice
# Register your models here.
class ChoiceInline(admin.TabularInline):
model = Choice
extra = 2
class QuestionAdmin(admin.ModelAdmin):
# fields = ['pub_date','question_text']
fieldsets = [('Question Statement', {'fields':['question_text']}),
('Date Information', {'fields':['pub_date'],'classes':['collapse']}),]
inlines = [ChoiceInline]
list_display = ('question_text','pub_date')
list_filter = ['pub_date']
admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice)
데이터를 검색 할 수 있는 검색 필드가 생기게 된다.
.polls/admin.py
from django.contrib import admin
from polls.models import Question, Choice
# Register your models here.
class ChoiceInline(admin.TabularInline):
model = Choice
extra = 2
class QuestionAdmin(admin.ModelAdmin):
# fields = ['pub_date','question_text']
fieldsets = [('Question Statement', {'fields':['question_text']}),
('Date Information', {'fields':['pub_date'],'classes':['collapse']}),]
inlines = [ChoiceInline]
list_display = ('question_text','pub_date')
list_filter = ['pub_date']
search_fields = ['question_text']
admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice)
from django.contrib import admin
from polls.models import Question, Choice
# Register your models here.
class ChoiceInline(admin.TabularInline): # Question, Choice 한 화면에서 보기
model = Choice
extra = 2
class QuestionAdmin(admin.ModelAdmin):
# fields = ['pub_date','question_text'] # 필드 순서 변경
fieldsets = [('Question Statement', {'fields':['question_text']}), # 필드 분리하여 보여주기
('Date Information', {'fields':['pub_date'],'classes':['collapse']}),] # 필드 펼치기 기능 추가
inlines = [ChoiceInline] # Choice 모델 클래스 같이 보기
list_display = ('question_text','pub_date') # 레코드 리스트 컬럼 지정하기
list_filter = ['pub_date'] # 리스트 필터 지정하기
search_fields = ['question_text'] # 레코드 검색 필드 추가하기
admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice)
Admin 사이트를 개발자 취향에 맞게 수정 할 수 있음
django의 설치 위치를 확인 한다.
$>python -c 'import django; print(django.__path__)
~ch3>mkdir templates
~ch3>mkdir templates/admin
~ch3>cp [django설치경로, (1) 에서의 아웃풋]/contrib/admin/templates/admin/base_site.html ./templates/admin/base_site.html
..(생략)
TEMPLATES = [
'DIRS'=[os.path.join(BASE_DIR, 'templates')],
]
...(생략)
base_site.html 파일을 수정한다.
# 아래 1줄 수정해 보자
<h1 id='site-name'><a href="{%url 'admin:index' %}">KYM Polls Administration</a></h1>