博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

django admin管理工具, 修改管理页面对数据库的展示

Posted on 2017-10-13 14:11  bw_0927  阅读(834)  评论(0)    收藏  举报

http://www.runoob.com/django/django-admin-manage-tool.html

django.contrib是一套庞大的功能集,它是Django基本代码的组成部分。 

为了让 admin 界面管理某个数据模型,我们需要先注册该数据模型到 admin。比如,我们之前在 TestModel 中已经创建了模型 Test 。修改 TestModel/admin.py:

 

from django.contrib import admin
from TestModel.models import Test
 
# Register your models here.
admin.site.register(Test)

 

 

===============================

  • 修改管理页面对数据库的展示

本来的Author模型如下:

class Author(models.Model):
    """docstring for Author"""
    name = models.CharField(max_length=30)
    email = models.EmailField(blank=True)
    website = models.URLField(blank=True)

    def __unicode__(self):
        return u'%s' % (self.name)

    class Meta:
        db_table = 'blog_author'

是其可以在admin页面可见(register)  

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.contrib import admin
from blog.models import Tag, Author, Blog

# Register your models here.
admin.site.register([Tag, Author, Blog])     //方括号

页面展示如下:

 

修改展示页面,只显示name字段  

from __future__ import unicode_literals

from django.contrib import admin
from blog.models import Tag, Author, Blog

# Register your models here.
admin.site.register([Tag, Blog])           //少了Author

class AuthorAdmin(admin.ModelAdmin):       //配置AuthorAdmin(固有格式:要改xx表,就增加xxAdmin)
    fields = ('name',)
        
admin.site.register(Author, AuthorAdmin)   //圆括号

此时页面如下:成功

 

我们还可以将输入栏分块,每个栏也可以定义自己的格式:

fieldsets = (
        ['Main',{
            'fields':('name','email'),
        }],
        ['Advance',{
            'classes': ('collapse',), # CSS
            'fields': ('website',),       #注意:字段一定要是Author表里现有的字段
        }]
    )

此时的页面效果如下:可折叠  

 

 

===

 默认的author列表如下:

 

 修改展示的list:

list_display = ('name', 'email') # list