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 admin
from . 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 admin
from . import models
class 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 admin
from . import models
class ArticleAdmin(admin.ModelAdmin):
list_display = ( 'title','content','pub_time')
list_filter = ('pub_time',)
# Register your models here.
admin.site.register(models.Article,ArticleAdmin)