Django组件-admin

Django Admin

管理各app下的数据库表,实现可以通过Web页面就完成对数据的增删改查。

  • a、admin 是django 自带的用来让你进行数据库管理的web app.
  • b、http://localhost:yourport/admin/
  • c、python manage.py createsuperuser

一、基本设置

1、应用注册

在每个app下有个admin.py文件 ,在那里面注册你想要被管理的表

法1:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from django.contrib import admin
 
# Register your models here.
 
from blog import models
 
#Article模型的管理器
class ArticleAdmin(admin.ModelAdmin):
     list_display = [ 'title' , 'create_time' , 'user' ]
 
#在admin中注册绑定
admin.site.register(models.Article,ArticleAdmin)
 
admin.site.register(models.ArticleUpDown)
admin.site.register(models.Article2Tag)
admin.site.register(models.Comment)
admin.site.register(models.UserInfo)
admin.site.register(models.Blog)
admin.site.register(models.Category)
admin.site.register(models.Tag)

法2:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from django.contrib import admin
 
# Register your models here.
 
from blog import models
 
#Article模型的管理器
@admin .register(models.Article)     #用装饰器
class ArticleAdmin(admin.ModelAdmin):
     list_display = [ 'title' , 'create_time' , 'user' ]
 
 
admin.site.register(models.ArticleUpDown)
admin.site.register(models.Article2Tag)
admin.site.register(models.Comment)
admin.site.register(models.UserInfo)
admin.site.register(models.Blog)
admin.site.register(models.Category)
admin.site.register(models.Tag)

2、admin界面汉化在settings.py中设置:

?
1
2
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

二、记录列表界面设置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from django.contrib import admin
from blog import models
 
admin.site.site_header = '后台管理'
admin.site.site_title = '页面title设置'
 
#Article模型的管理器
@admin .register(models.Article)     #用装饰器
class ArticleAdmin(admin.ModelAdmin):
     #1、基本设置(显示字段、每页记录数和排序)
 
     # list_display = ['nid','title', 'create_time', 'user']  #listdisplay设置要显示在列表中的字段(nid是我们自己设置的主键,如果不设置nid,id字段是Django模型的默认主键)
     list_display = ( 'nid' , 'title' , 'create_time' , 'user' , 'comment_count' , 'up_count' , 'down_count' )
 
     # list_per_page设置每页显示多少条记录,默认是100条
     list_per_page = 50
 
     # ordering设置默认排序字段,负号表示降序排序
     ordering = ( '-create_time' ,)
 
     # list_editable 设置默认可编辑字段
     list_editable = [ 'up_count' , 'comment_count' , 'down_count' ]
 
     # fk_fields 设置显示外键字段
     fk_fields = ( 'user_id' , 'category_id' )
 
     # 设置哪些字段可以点击进入编辑界面
     list_display_links = ( 'nid' , 'title' )
 
 
     #2、筛选器  一般ManyToManyField多对多字段用过滤器;标题等文本字段用搜索框;日期时间用分层筛选。
 
     list_filter = ( 'title' , 'create_time' , 'user' # 过滤器
     search_fields = ( 'title' , 'content' ,)  # 搜索字段
     date_hierarchy = 'create_time'  # 详细时间分层筛选 
 
 
@admin .register(models.Tag)
class TagAdmin(admin.ModelAdmin):
     list_display = [ 'nid' , 'title' , 'blog' ]
 
 
admin.site.register(models.ArticleUpDown)
admin.site.register(models.Article2Tag)
admin.site.register(models.Comment)
admin.site.register(models.UserInfo)
admin.site.register(models.Blog)
admin.site.register(models.Category)

二、编辑界面设置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
from django.contrib import admin
from blog import models
 
admin.site.site_header = '后台管理'
admin.site.site_title = '页面title设置'
 
 
#Article模型的管理器
@admin .register(models.Article)     #用装饰器
class ArticleAdmin(admin.ModelAdmin):
     #记录列表1、基本设置(显示字段、每页记录数和排序)
 
     # list_display = ['nid','title', 'create_time', 'user']  #listdisplay设置要显示在列表中的字段(nid是我们自己设置的主键,如果不设置nid,id字段是Django模型的默认主键)
     list_display = ( 'nid' , 'title' , 'create_time' , 'user' , 'comment_count' , 'up_count' , 'down_count' ,)
 
     # list_per_page设置每页显示多少条记录,默认是100条
     list_per_page = 50
 
     # ordering设置默认排序字段,负号表示降序排序
     ordering = ( '-create_time' ,)
 
     # list_editable 设置默认可编辑字段
     list_editable = [ 'up_count' , 'comment_count' , 'down_count' ]
 
     # fk_fields 设置显示外键字段
     fk_fields = ( 'user_id' , 'category_id' )
 
     # 设置哪些字段可以点击进入编辑界面
     list_display_links = ( 'nid' , 'title' )
 
 
     #记录列表2、筛选器  一般ManyToManyField多对多字段用过滤器;标题等文本字段用搜索框;日期时间用分层筛选。
 
     list_filter = ( 'title' , 'create_time' , 'user' , 'tags' # 过滤器
     search_fields = ( 'title' , 'content' # 搜索字段
     date_hierarchy = 'create_time'  # 详细时间分层筛选 
 
     # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
     # 编辑界面
     # fields = [] #fields 决定对表进行修改时展示哪些字段
     fields = ( 'title' 'user' , 'comment_count' , 'up_count' , 'down_count' , 'content' ,) #fields 决定对表进行修改时展示哪些字段
     # fields = ['title', ('user','content')] #还可以多个字段显示在一行。user和content显示在一行
 
     #fieldsets 分组显示
     # fieldsets = (('文章相关',{
     #     'fields':('title','content'),
     #     'classes': ('wide', 'extrapretty'),      #classes 是用于设定字段样式,2个默认自带的样式是collapse 和wide
     # }),('高级',{
     #     'classes':('collapse',),
     #     'fields':(('comment_count','up_count'),'user')
     # }))
 
     # filter_horizontal,filter_vertical 均用于多对多字段
     # filter_horizontal = ('tags',)
 
     # 只读字段
     # readonly_fields = ('nid', 'create_time')
 
 
@admin .register(models.Tag)
class TagAdmin(admin.ModelAdmin):
     list_display = [ 'nid' , 'title' , 'blog' ]
 
 
admin.site.register(models.ArticleUpDown)
admin.site.register(models.Article2Tag)
admin.site.register(models.Comment)
admin.site.register(models.UserInfo)
admin.site.register(models.Blog)
admin.site.register(models.Category)

Django Admin

管理各app下的数据库表,实现可以通过Web页面就完成对数据的增删改查。

  • a、admin 是django 自带的用来让你进行数据库管理的web app.
  • b、http://localhost:yourport/admin/
  • c、python manage.py createsuperuser

一、基本设置

1、应用注册

在每个app下有个admin.py文件 ,在那里面注册你想要被管理的表

法1:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from django.contrib import admin
 
# Register your models here.
 
from blog import models
 
#Article模型的管理器
class ArticleAdmin(admin.ModelAdmin):
     list_display = [ 'title' , 'create_time' , 'user' ]
 
#在admin中注册绑定
admin.site.register(models.Article,ArticleAdmin)
 
admin.site.register(models.ArticleUpDown)
admin.site.register(models.Article2Tag)
admin.site.register(models.Comment)
admin.site.register(models.UserInfo)
admin.site.register(models.Blog)
admin.site.register(models.Category)
admin.site.register(models.Tag)

法2:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from django.contrib import admin
 
# Register your models here.
 
from blog import models
 
#Article模型的管理器
@admin .register(models.Article)     #用装饰器
class ArticleAdmin(admin.ModelAdmin):
     list_display = [ 'title' , 'create_time' , 'user' ]
 
 
admin.site.register(models.ArticleUpDown)
admin.site.register(models.Article2Tag)
admin.site.register(models.Comment)
admin.site.register(models.UserInfo)
admin.site.register(models.Blog)
admin.site.register(models.Category)
admin.site.register(models.Tag)

2、admin界面汉化在settings.py中设置:

?
1
2
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

二、记录列表界面设置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from django.contrib import admin
from blog import models
 
admin.site.site_header = '后台管理'
admin.site.site_title = '页面title设置'
 
#Article模型的管理器
@admin .register(models.Article)     #用装饰器
class ArticleAdmin(admin.ModelAdmin):
     #1、基本设置(显示字段、每页记录数和排序)
 
     # list_display = ['nid','title', 'create_time', 'user']  #listdisplay设置要显示在列表中的字段(nid是我们自己设置的主键,如果不设置nid,id字段是Django模型的默认主键)
     list_display = ( 'nid' , 'title' , 'create_time' , 'user' , 'comment_count' , 'up_count' , 'down_count' )
 
     # list_per_page设置每页显示多少条记录,默认是100条
     list_per_page = 50
 
     # ordering设置默认排序字段,负号表示降序排序
     ordering = ( '-create_time' ,)
 
     # list_editable 设置默认可编辑字段
     list_editable = [ 'up_count' , 'comment_count' , 'down_count' ]
 
     # fk_fields 设置显示外键字段
     fk_fields = ( 'user_id' , 'category_id' )
 
     # 设置哪些字段可以点击进入编辑界面
     list_display_links = ( 'nid' , 'title' )
 
 
     #2、筛选器  一般ManyToManyField多对多字段用过滤器;标题等文本字段用搜索框;日期时间用分层筛选。
 
     list_filter = ( 'title' , 'create_time' , 'user' # 过滤器
     search_fields = ( 'title' , 'content' ,)  # 搜索字段
     date_hierarchy = 'create_time'  # 详细时间分层筛选 
 
 
@admin .register(models.Tag)
class TagAdmin(admin.ModelAdmin):
     list_display = [ 'nid' , 'title' , 'blog' ]
 
 
admin.site.register(models.ArticleUpDown)
admin.site.register(models.Article2Tag)
admin.site.register(models.Comment)
admin.site.register(models.UserInfo)
admin.site.register(models.Blog)
admin.site.register(models.Category)

二、编辑界面设置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
from django.contrib import admin
from blog import models
 
admin.site.site_header = '后台管理'
admin.site.site_title = '页面title设置'
 
 
#Article模型的管理器
@admin .register(models.Article)     #用装饰器
class ArticleAdmin(admin.ModelAdmin):
     #记录列表1、基本设置(显示字段、每页记录数和排序)
 
     # list_display = ['nid','title', 'create_time', 'user']  #listdisplay设置要显示在列表中的字段(nid是我们自己设置的主键,如果不设置nid,id字段是Django模型的默认主键)
     list_display = ( 'nid' , 'title' , 'create_time' , 'user' , 'comment_count' , 'up_count' , 'down_count' ,)
 
     # list_per_page设置每页显示多少条记录,默认是100条
     list_per_page = 50
 
     # ordering设置默认排序字段,负号表示降序排序
     ordering = ( '-create_time' ,)
 
     # list_editable 设置默认可编辑字段
     list_editable = [ 'up_count' , 'comment_count' , 'down_count' ]
 
     # fk_fields 设置显示外键字段
     fk_fields = ( 'user_id' , 'category_id' )
 
     # 设置哪些字段可以点击进入编辑界面
     list_display_links = ( 'nid' , 'title' )
 
 
     #记录列表2、筛选器  一般ManyToManyField多对多字段用过滤器;标题等文本字段用搜索框;日期时间用分层筛选。
 
     list_filter = ( 'title' , 'create_time' , 'user' , 'tags' # 过滤器
     search_fields = ( 'title' , 'content' # 搜索字段
     date_hierarchy = 'create_time'  # 详细时间分层筛选 
 
     # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
     # 编辑界面
     # fields = [] #fields 决定对表进行修改时展示哪些字段
     fields = ( 'title' 'user' , 'comment_count' , 'up_count' , 'down_count' , 'content' ,) #fields 决定对表进行修改时展示哪些字段
     # fields = ['title', ('user','content')] #还可以多个字段显示在一行。user和content显示在一行
 
     #fieldsets 分组显示
     # fieldsets = (('文章相关',{
     #     'fields':('title','content'),
     #     'classes': ('wide', 'extrapretty'),      #classes 是用于设定字段样式,2个默认自带的样式是collapse 和wide
     # }),('高级',{
     #     'classes':('collapse',),
     #     'fields':(('comment_count','up_count'),'user')
     # }))
 
     # filter_horizontal,filter_vertical 均用于多对多字段
     # filter_horizontal = ('tags',)
 
     # 只读字段
     # readonly_fields = ('nid', 'create_time')
 
 
@admin .register(models.Tag)
class TagAdmin(admin.ModelAdmin):
     list_display = [ 'nid' , 'title' , 'blog' ]
 
 
admin.site.register(models.ArticleUpDown)
admin.site.register(models.Article2Tag)
admin.site.register(models.Comment)
admin.site.register(models.UserInfo)
admin.site.register(models.Blog)
admin.site.register(models.Category)

猜你喜欢

转载自www.cnblogs.com/bubu99/p/10345669.html
今日推荐