2018年01月23日 23:34:38 阅读数:1176 标签: xadmindjangopython 更多
个人分类: python
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuhan963/article/details/79146025
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是纯粹的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
在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的增删改查界面了。