Django学习笔记(四)--admin的配置与应用

来源:互联网 发布:充话费的软件 编辑:程序博客网 时间:2024/05/16 09:33

Admin

admin是django自带的功能强大的自动化数据管理界面

被授权的用户可以直接在Admin中管理数据库(增、删、查、改)


配置Admin

创建超级用户 python manage.py createsuperuser

访问后台管理系统:localhost:8000/admin (admin入口)

修改setting.py中LANGUAGE_CODE='zh_Hans' (改成中文界面)

配置应用:在应用下的admin.py中引入自身的models模块,加入代码  admin.site.register(models.***)

admin.py

from django.contrib import adminfrom . import models # Register your models here.admin.site.register(models.Article)

修改数据默认显示名称

models.py

from django.db import models# Create your models here.class Article(models.Model):    title = models.CharField(max_length=32,default='Title')    content = models.TextField(null=True)    def __str__(self):        return self.title
这样就能显示标题了

若不是python3,则修改__unicode__ 方法即可



Admin 增强

注册Admin配置类:

class ArticleAdmin(admin.ModelAdmin)

注册:admin.site.register(models.Article,ArticleAdmin)

显示其他字段

list_diplay = ('title','content')   (就是models里的字段名)

admin.py中添加

from django.contrib import adminfrom . import modelsclass ArticleAdmin(admin.ModelAdmin):    list_display = (  'title','content')   # Register your models here.admin.site.register(models.Article,ArticleAdmin)


Admin过滤器

list_diplay = ('pub_time',)

tuple中只有一个成员,加逗号


在models中Article类添加发布日期

from django.db import models# Create your models here.class Article(models.Model):    title = models.CharField(max_length=32,default='Title')    content = models.TextField(null=True)    pub_time = models.DateTimeField(null=True)    # def __str__(self):    #     return self.title

数据移植(才可以在数据库中显示)

执行  pythonmanage.py makemigrations

再执行python manage.py migrate

生成了数据表



在admin.py中添加过滤器

from django.contrib import adminfrom . import modelsclass ArticleAdmin(admin.ModelAdmin):    list_display = (  'title','content','pub_time')    list_filter = ('pub_time',)# Register your models here.admin.site.register(models.Article,ArticleAdmin)



原创粉丝点击