zoukankan      html  css  js  c++  java
  • Django基础,Day8

    自定义admin表单

    展示效果一:

    1 from django.contrib import admin
    2 from polls.models import Question
    3 
    4 class QuestionAdmin(admin.ModelAdmin):
    5     fields = ['pub_date', 'question_text']
    6 
    7 admin.site.register(Question, QuestionAdmin)
    polls/admin.py

    展示效果二:

     1 from django.contrib import admin
     2 from polls.models import Question
     3 
     4 class QuestionAdmin(admin.ModelAdmin):
     5     fieldsets = [
     6         (None,               {'fields': ['question_text']}),
     7         ('Date information', {'fields': ['pub_date']}),
     8     ]
     9 
    10 admin.site.register(Question, QuestionAdmin)
    polls/admin.py

     添加关联对象

    一个Question有多个Choice,Choice的显示方式有两种:

    其一,直接注册 admin.site.register(Choice),则Choice添加界面显示如:

    其二,在Question中关联Choice,效果展示如:

     1 from django.contrib import admin
     2 from polls.models import Question, Choice
     3 
     4 
     5 class ChoiceInline(admin.TabularInline): # admin.TabularInline admin.StackedInline
     6     model = Choice
     7     extra = 0
     8 
     9 
    10 class QuestionAdmin(admin.ModelAdmin):
    11     fieldsets = [
    12         (None,               {'fields': ['question_text']}),
    13         ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
    14     ]
    15     inlines = [ChoiceInline]
    16 
    17 admin.site.register(Question, QuestionAdmin)
    polls/admin.py

     自定义admin列表

    增加显示列    list_display = ('question_text', 'pub_date', 'was_published_recently')

    增加过滤器    list_filter = ['pub_date']

    添加搜索栏    search_fields = ['question_text']

     1 from django.contrib import admin
     2 from polls.models import Question, Choice
     3 
     4 
     5 class ChoiceInline(admin.TabularInline): # admin.TabularInline admin.StackedInline
     6     model = Choice
     7     extra = 0
     8 
     9 
    10 class QuestionAdmin(admin.ModelAdmin):
    11     fieldsets = [
    12         (None,               {'fields': ['question_text']}),
    13         ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
    14     ]
    15     inlines = [ChoiceInline]
    16     list_display = ('question_text', 'pub_date', 'was_published_recently')
    17     list_filter = ['pub_date']
    18     search_fields = ['question_text']
    19 admin.site.register(Question, QuestionAdmin)
    polls/admin.py

    ***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***
  • 相关阅读:
    每日英语:Here's Why You Won't Finish This Article
    每日英语:'Still Out Of Work?' How To Handle Holiday Small Talk
    每日英语:How to Spend Christmas in Asia
    每日英语:Losing It at the Movies: Silly Beats Sober in China's Box Office
    每日英语:How Do iPhone Photos Impact Our Experience?
    一种使用CSS固定表头和列的方法
    一个asp.net中使用的flash展示控件
    gridview中cell的选择和编辑
    asp.net 2.0中的profile对象简介
    gridview中使用方向键标记选中行
  • 原文地址:https://www.cnblogs.com/guanfuchang/p/6258173.html
Copyright © 2011-2022 走看看