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)
|