博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python-Django收集主机信息json格式
阅读量:4677 次
发布时间:2019-06-09

本文共 3095 字,大约阅读时间需要 10 分钟。

Control:

1 from django.conf.urls import patterns, include, url 2  3 from django.contrib import admin 4 admin.autodiscover() 5  6 urlpatterns = patterns('', 7     # Examples: 8     # url(r'^$', 'simplecmdb.views.home', name='home'), 9     # url(r'^blog/', include('blog.urls')),10 11     url(r'^admin/', include(admin.site.urls)),12     url(r'^hostinfo/collect/$','hostinfo.views.collect'),13     url(r'^hostinfo/getjson/$','hostinfo.views.getjson'),14     url(r'^hostinfo/gettxt/$','hostinfo.views.gettxt'),15 )

View:

1 from django.shortcuts import render 2 from django.http import HttpResponse 3 from hostinfo.models import Host,HostGroup 4 import pickle 5 import json 6  7 # Create your views here. 8  9 def collect(req):10     if req.POST:11         #dic = pickle.loads(req.body)12         dic = json.loads(req.body)13         hostname = dic['hostname']14         ip = dic['ip']15         product = dic['product']16         sn = dic['sn']17         vendor = dic['vendor']18         cpu_model = dic['cpu_model']19         cpu_num = dic['cpu_num']20         memory = dic['memory']21         osver = dic['osver']22 23         try:24             host = Host.objects.get(sn=sn)25         except:26             host = Host()27         host.hostname = hostname28         host.ip = ip29         host.product = product30         host.sn = sn31         host.vendor = vendor32         host.cpu_model = cpu_model33         host.cpu_num = cpu_num34         host.memory = memory35         host.osver = osver36 37         host.save()38 39         return HttpResponse('data have save into DB')40     else:41         return HttpResponse('there is no data from POST method')42 43 def getjson(req):44     ret_list = []45     hg = HostGroup.objects.all()46     for g in hg:47         ret = {
'groupname':g.groupname,'members':[]}48 for h in g.members.all():49 ret_h = {
'hostname':h.hostname,'ip':h.ip}50 ret['members'].append(ret_h)51 ret_list.append(ret)52 return HttpResponse(json.dumps(ret_list))53 54 55 def gettxt(req):56 res = ''57 hg = HostGroup.objects.all()58 for g in hg:59 groupname = g.groupname60 for h in g.members.all():61 hostname = h.hostname62 ip = h.ip63 res += groupname+' '+hostname+' '+ip+'\n'64 return HttpResponse(res)

Model:

1 from django.db import models 2  3 # Create your models here. 4  5 class Host(models.Model): 6     hostname = models.CharField(max_length=50) 7     ip = models.IPAddressField() 8     vendor = models.CharField(max_length=50) 9     product = models.CharField(max_length=50)10     sn = models.CharField(max_length=50)11     cpu_model = models.CharField(max_length=50)12     cpu_num = models.IntegerField()13     memory = models.CharField(max_length=50)14     osver = models.CharField(max_length=50)15     def __unicode__(self):16         return self.hostname17 18 class HostGroup(models.Model):19     groupname = models.CharField(max_length=50)20     members = models.ManyToManyField(Host)

转载于:https://www.cnblogs.com/Nyan-Workflow-FC/p/5710903.html

你可能感兴趣的文章
[MySQL FAQ]系列 -- mysql如何计算打开文件数
查看>>
《数据结构》相关题目
查看>>
Codeforces Round #431 (Div. 2) A 水 B 暴力模拟 C 思维
查看>>
php-fpm 进程管理
查看>>
[linux-内核][转]内核日志及printk结构浅析
查看>>
Quartus II 9.1的安装与破解
查看>>
快速高效掌握企业级项目中的Spring面向切面编程应用,外带讲面试技巧
查看>>
注册码
查看>>
Linux 安装redis
查看>>
加密算法
查看>>
(转载)vmware中三种网络连接方式(复制)
查看>>
python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑
查看>>
使用HTML meta no-cache标签来禁用缓存
查看>>
《扩展和嵌入python解释器》1.4 模块方法表和初始化函数
查看>>
JAVA回调
查看>>
服务管理类-----ActivityManager
查看>>
35岁前务必成功的12级跳(男女通用) 转
查看>>
二分法
查看>>
爬虫详解
查看>>
嵌入式Linux应用开发完全手册(附光盘)
查看>>