1、项目工程设计
当用户发起HTTP请求时, Django的采集接口将HTTP请求的头部信息headers里面的IP和UA信息
采集, 并存储到数据库中。 当用户想要访问采集数据时, 从数据库中读取,以界面的方式展示给
用户。
2、数据库模型层models

- 一个类对应一个数据库表;
- 类的一个属性对应数据库表的一个表头;
- max_length: 字符串最大长度, 对应数据库的varchar类型
- default: 指定默认值
- verbose_name: 指定Django后台显示的列头信息
- auto_now: 每次修改记录时自动更新为当前时间
- Meta类的设置
- verbose_name: 指定Django后台显示的表名称单数
- verbose_name_plural: 指定Django后台显示的表名称复数
- db_table: 指定数据库表的名称, 默认是APP名称_类名称.
from django.db import models
class Server(models.Model):
"""服务器设备"""
server_type_choice = ((0, 'PC服务器'),
(1, '刀片机'),
(2, '小型机'),
)
add_type_choice = (('auto', '自动添加'),
('manual', '手工录入'),
)
asset_type = models.SmallIntegerField(choices=server_type_choice, default=0, verbose_name="服务器类型")
add_type = models.CharField(choices=add_type_choice, max_length=32, default='auto', verbose_name="添加方式")
hosted_on = models.ForeignKey('self', related_name='hosted_on_server', blank=True, null=True, verbose_name="宿主机",on_delete=models.CASCADE)
# 虚拟机专用字段
IP = models.CharField('IP地址', max_length=30, default='')
MAC = models.CharField('Mac地址', max_length=200, default='')
model = models.CharField(max_length=128, null=True, blank=True, verbose_name='服务器型号')
hostname = models.CharField(max_length=128, null=True, blank=True, verbose_name="主机名")
os_type = models.CharField('操作系统类型', max_length=64, blank=True, null=True)
os_distribution = models.CharField('发行商', max_length=64, blank=True, null=True)
os_release = models.CharField('操作系统版本', max_length=64, blank=True, null=True)
def __str__(self):
return self.hostname
class Meta:
verbose_name = '服务器'
verbose_name_plural = "服务器"
- model.py文件做了修改后一定要生成迁移脚本并写入数据库
python manage.py makemigrations
python manage.py migrate
# 创建超级用户用于后台登录
python manage.py createsuperuser
3、后台Admin管理admin.py
from django.contrib import admin
from .models import Server
# Register your models here.
admin.site.register(Server)
测试:后台登录
python manege.py runserver ##运行程序
登录网址http://127.0.0.1:8000/admin
版权声明:本文为qq_27172205原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。