弹药库 弹药库

好记性不如烂笔头

目录
django后台管理--生成admin后台系统
/    

django后台管理--生成admin后台系统 置顶!

django后台管理简介

  • django框架自动生成的后台管理界面
  • 从ORM模型中读取元数据信息,简单配置即可
  • 其功能强大,可用于对数据库中数据的管理

将模型添加到后台管理

配置admin框架

下面配置django框架默认已经生成,check下即可

  1. INSTALLED_APPS配置应用及依赖
django.contrib.admin	# 主要是这行

django.contrib.auth
django.contrib.contenttypes
django.contrib.messages
django.contrib.sessions

auth:用户认证相关

messages:给用户的提示信息

contenttypes:做复合类型时需要用到

  1. 模板选项配置TEMPLATES中的OPTIONS
  • 添加上下文处理器:context_processors
django.contrib.auth.context_processors.auth
django.contrib.messages.context_processors.messages
  1. 添加中间件MIDDLEWARE
django.contrib.auth.middleware.AuthenticationMiddleware
django.contrib.messages.middleware.MessageMiddleware
  1. 配置url

同级目录下的 urls.py文档

from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
]
  1. 浏览器访问后台
python manage.py runserver 0.0.0.0:8000

http://HostIp:Port/admin

HostIp:项目主机的IP地址

Port:项目启动的端口

image.png

注:这里的用户名和密码是使用命令 python manage.py createsuperuser创建的

  • 需要先生成数据库文件
python manage.py makemigrations
python manage.py migrate
  • 创建超级用户
python manage.py createsuper	# 按照提示输入对应信息即可

image.png

配置admin后台展示中文

在项目的目录下找到 settings.py

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

将上面两处修改完成即可

ORM模型配置

  1. 在模块中新建admin.py文件
  2. 封装模型自定义的管理后台功能和选项
    • 每个模型创建一个ModelAdmin的子类

ModelAdmin配置选项- fields/exclude ----需要编辑/不需要编辑的字段列表

  • form ----自定义表单
  • list_display ----在列表中显示的字段
  • ordering ----指定排序规则
  1. INSTALLED_APPS配置应用
    • 需要管理的ORM模型自动搜索添加至后台管理
'testadmin',	# 自己注册的APP模块,即使用 python manage.py createapp testadmin 创建的APP模块
from django.contrib import admin
from testadmin.models import Info

# Register your models here.

@admin.register(Info)	# 注册到后台模块方法
class InfoAdmin(admin.ModelAdmin):
    """ 信息 """
    list_display = ['name', 'age', 'addr', 'create_time', 'update_time']
    list_filter = ('name', 'age',)
    search_fields = ('name',)

需要和models.py 文件中模型对应

注册到后台模块有两种:

# 方法一
@admin.register(Info)
# 方法二
admin.site.register(Info, InfoAdmin) # 两个选择一种书写即可

标题:django后台管理--生成admin后台系统
作者:zhhui