python——Django之admin的使用

管理界面本地化

在settings.py中设置语言和时区(这里我要设置的是中文)

#设置中文
LANGUAGE_CODE = 'zh-Hans'
#设置亚洲上海时区
TIME_ZONE = 'Asia/Shanhghai'

 

创建超级管理员

创建管理员的命令,如下

python manage.py createsuperuser

 

命令输完以后,会显示输入用户名、邮箱、密码,效果如下:

 

 

 注:在设置密码时,需要注意密码不能太过简单,否则会重新编写

 

运行项目后,在浏览器下的地址栏输入以下地址,回车,即可

http://127.0.0.1:8000/admin

 

 

上面完成以后,会弹出一个页面,这个页面是填写用户名和密码(注:这里的用户名和密码是前面创建的用户名和密码,需要注意下),效果如下:

 

 

登录成功后的界面,但是并没有我们自己应用模型的入口,效果如下:

 

 

注册模型类

 注:这个需要在自己的应用中的admin.py文件中进行注册,才可在后台管理中看到,并进行增删改查的操作

 1.打开自己的应用下的admin文件(这里我的admin文件在day/admin.py文件,根据自己的来),编写代码

from django.contrib import admin
from day.models import *
# Register your models here.

admin.site.register(Book)
admin.site.register(Author)

 

 

 2.然后去浏览器中刷新页面,可以看到注册的模型类了,效果如下:

 

 

 

 

3.当我们点击Books后,可以看到Books 表中的相关内容,效果如下:

 

 

 

提示: 这里是表中有多少数据,就显示多少数据

 

4.如果没有显示我们需要的数据,这时需要自定义admin,自定义的方式是通过类来实现的,代吗如下:

class BookAdmin(admin.ModelAdmin):
    list_name=("id","title","price")

 

注意:定义管理类需要继承admin.ModelAdmin,上面的代吗是显示表中有哪些字段,弄好以后,重新运行项目,效果如下

 

 

 好像没有什么效果,没有效果是因为这个管理类和我们的表没有产生关联,所以还需要一步,在注册时加入第二个参数,代码如下:

from django.contrib import admin
from day.models import *
# Register your models here.
@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
    list_display = ("id", "title", "price")


#admin.site.register(Book,BookAdmin)
admin.site.register(Author)

 

运行之后,效果如下:

 

 

 

 

管理中的常用设置

 1.对Django管理的页面中内容进行修改,代码如下:

list_editable = ("price",)

 

注:如果只有一个字段的话,必须在后面加逗号

效果如下:

2.设置每页所显示多少条数据,代码如下:

#自己定义分页
list_per_page = 2

 

效果如下:

 

 

3.在Books页中添加搜索,代码如下:

#添加搜索
search_fields = ("id","title","price")

 效果:

 

 

 

注:这里我找的是书籍,找到以后,返回价格、书名等功能

 

4.调整站点信息

在day/admin.py中进行设置,代码如下:

#调整站点信息
admin.site.site_header="Django管理系统"
admin.site.index_title="欢迎使用图书管理系统"

 

效果:

 

 

 整理所有的代码,如下:

from django.contrib import admin
from day.models import *
# Register your models here.
#自定义admin进行设置
@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
    list_display = ("id", "title", "price")
    #对页面中内容进行修改
    list_editable = ("price",)
    #自己定义分页
    list_per_page = 2
    #添加搜索
    search_fields = ("id","title","price")



#admin.site.register(Book,BookAdmin)
admin.site.register(Author)
#调整站点信息
admin.site.site_header="Django管理系统"
admin.site.index_title="欢迎使用图书管理系统"

 

posted @ 2020-08-08 16:10  hell_o  阅读(973)  评论(0编辑  收藏  举报