概念:
Django的admin界面是自动生成的,它根据你的模型类自动创建表单和列表视图。你只需将模型类注册到admin界面,就可以轻松地管理和操作数据库中的数据。
admin界面提供了各种功能,包括:
列表视图:以表格形式展示数据库中的数据,支持分页、搜索和排序功能,方便快速浏览和筛选数据。
表单视图:用于创建、编辑和删除数据库中的数据。Django的表单视图提供了丰富的表单字段类型,例如文本框、下拉列表、日期选择等,同时支持数据验证和错误提示。
权限控制:admin界面支持基于角色的权限控制,你可以定义不同的用户角色,并为每个角色分配不同的权限,从而限制用户对数据和功能的访问权限。
自定义界面:Django的admin界面可以通过自定义模板和样式进行个性化定制,你可以根据自己的需求修改界面的布局、颜色和图标等。
插件扩展:Django的admin界面支持插件扩展,你可以通过安装第三方插件来增加额外的功能和特性,例如图表展示、导入导出数据等。
admin的位置
在我们创建了Django的项目后,我们在最原始的urls.py中就可以看见关于admin的路径:
如果要访问admin后台我们只需要输入以下网址:
http://127.0.0.1:8000/admin/
admin的相关功能
1.创建超级用户
在创建超级用户前我们需要保证项目已经创建成功,连接了数据库并且成功执行力数据库的生成和迁移命令。
在启动Django项目后我们首次进入admin后台管理界面是需要用户名与密码的创建,我们需要在命令终端通过以下命令去创建超级用户,即管理员:
执行:
python manage.py createsuperuser
-- 提示输入创建的账号: admin
-- 邮箱:可直接回车不输
-- 密码、输两次
生成管理员后可以在数据库的auth_user表里看:
登录界面全是英文:
修改为中文的界面:
#方法一
找到settings.py里的LANGUAGE_CODE 和TIME_ZONE修改:
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
#方法二:
找到settings.py 中的中间件中:MIDDLEWARE = [] 添加:
-- django.middleware.locale.LocaleMiddleware
自定义管理界面的风格
1、编辑admin.py
-------------------------------------------------------------------------------------
from django.contrib import admin
from app_name.models import UserModel #导入模型中的函数(模型中的函数用于处理数据的增删改查)
#管理员界面处理从模型中拿到的数据来做展示
#创建需要展示在管理界面的类
#定义的是展示的字段或者风格标签等
class UserInfoAdmin(admin.ModelAdmin):
#展示字段
list_display = ['id', 'name', 'age', 'sex']
#增加过滤标签
list_filter = ['name', 'age']
#将models加入后台管理、这里将自定义的模型UserModel加入管理界面
#admin.site.register(模型名, 类名)
admin.site.register(UserModel,UserInfoAdmin)
-----------------------------------------------------------------------------------------------------------------------
2、编写根urls.py添加admin/管理界面的路由
---------------------------------------------------------------------------------------------------
from django.contrib import admin
from django.urls import path, include
from app_name.views import *
urlpatterns = [
#直接调用视图函数
path('admin/', admin.site.urls),
]
-------------------------------------------------------------------------------------------------
标签:界面,admin,创建,py,视图,Django,管理员 From: https://www.cnblogs.com/littlecc/p/18112415