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="欢迎使用图书管理系统"