Django2集成xadmin详解-3-实现Model的增删改查界面

一 创建和配置Django应用

1、创建Django工程后,还需要创建Django应用,在之前创建的Django工程根目录(这里是上一篇创建的django_xadmin工程),使用以下命令创建应用:

python manage.py startapp IdcManager

“IdcManager”是自定义的App名称,后续提到IdcManager目录,请自行替换为自己创建的App目录。

2、打开Django工程(django_xadmin目录)的settings.py配置文件,找到INSTALLED_APPS,追加配置如下:
INSTALLED_APPS = [

...

'IdcManager',

]

3、打开IdcManager目录的apps.py文件,添加如下代码:

from django.apps import AppConfig


class AppConfig(AppConfig):
    name = 'IdcManager' #替换为自己的App名称
    verbose_name = 'IDC管理' #需要在系统界面上展示的名称

4、打开IdcManager目录的init.py文件,添加如下代码:

default_app_config = 'IdcManager.apps.AppConfig' #替换IdcManager为自己的应用名称

这一步的目的是将app的配置指向IdcManager应用的apps.py文件的AppConfig类,即步骤3添加的配置内容。

如果省略第三步和第四步,对程序的运行并不会有任何影响,只是界面上展示的时候,会直接展示App名称,即IdcManager。

二 创建Model

Model是纯粹的Django内容,请自行查询Django Model相关内容,这里仅贴代码。

在IdcManager目录下的models.py文件里添加如下代码:

class IDC(models.Model):
    name = models.CharField(max_length=64)
    contact = models.CharField(max_length=32)
    phone = models.CharField(max_length=32)
    address = models.CharField(max_length=128)
    create_time = models.DateField(auto_now=True)

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = "IDC机房"
        verbose_name_plural = verbose_name

三 注册Model

在IdcManager目录下创建adminx.py文件,并在该文件添加以下代码:

import xadmin

from .models import IDC


@xadmin.sites.register(IDC)
class IDCAdmin(object):
    list_display = ("name", "contact", "phone", "address", "create_time") #界面上展示的列,对应IDC Model的字段
    list_display_links = ("name",) #带链接可点击的字段,点击会进入编辑界面

这里列出本步骤中xadmin和Django-admin处理的不同之处:
- 注册Model的代码写在adminx.py里
- IDCManager继承的是object
- 使用@xadmin.sites.registe进行注册(除了注解方式,也可以使用代码注册)

四 启动系统

1、创建数据库迁移(变更)文件

python manage.py makemigrations

2、执行迁移(让数据库的变更生效)

python manage.py migrate

3、启动系统

python manage.py runserver

4、打开浏览器,输入http://127.0.0.1:8000/,进入xadmin系统,登录后,即会在左边的菜单栏里看到“IDC机房”菜单,点击该菜单,即可看到IDC Model的增删改查界面了。

你可能感兴趣的:(python)