代码截取

父类故障的添加

from django.shortcuts import render, redirect
from django.views import View
from django import http
import re
import json

import pymysql
from .models import FaultInfo, ChildFaultInfo
from . import utils
from django.core import serializers


# Create your views here.
class FaultsView(View):
    def get(self, request):
        return render(request, 'index.html')


class FaultsTypeView(View):
    def get(self, request):
        faults = FaultInfo.objects.filter()
        for i in faults:
            print(i.id)
            count = ChildFaultInfo.objects.filter(pid=i.id).count()
            if count >= 1:
                i.text = '查看子故障类型'
            else:
                i.text = '添加子故障类型'
        return render(request, 'faults_type.html', {'faults': faults})


class AddFaultsView(View):
    def get(self, request):
        return render(request, 'faults_type_add.html')

    def post(self, request):
        name = request.POST.get('fault_name')
        desc = request.POST.get('fault_desc')
        print(name, desc)
        default = FaultInfo(name=name,
                            desc=desc)
        default.save()
        return http.JsonResponse({'state': 'success'})


class DelFaults(View):
    def get(self, request):
        params = request.GET.get('select').encode('utf-8', 'ignore').decode('utf-8')
        print(type(params))
        params = re.findall(r'\d+', params)
        print(params)
        params = [int(i) for i in params]
        for i in params:
            print(i)
            FaultInfo.objects.filter(id=i).delete()
            ChildFaultInfo.objects.filter(pid=i).delete()

        return render(request, 'index.html')




class NameCountView(View):

    def get(self, request, fault_name):
        count = FaultInfo.objects.filter(name=fault_name).count()
        return http.JsonResponse({'code': 200, 'errmsg': 'OK', 'count': count})


class ModFaultsView(View):
    def get(self, request):
        return render(request, 'faults_type_mod.html')

    def post(self, request):
        str = request.path
        list = str.split('/')
        fault_name = list[-2]
        # print(fault_name)
        name = request.POST.get('fault_name')
        desc = request.POST.get('fault_desc')
        # print(name, desc)
        fault_data = FaultInfo.objects.get(name=fault_name)
        # print(fault_data.name)
        fault_data.name = name
        # print(fault_data.name)
        fault_data.desc = desc
        fault_data.save()
        return http.JsonResponse({'state': 'success'})




class ChildNameCountView(View):
    def get(self, request, fault_name):
        count = ChildFaultInfo.objects.filter(name=fault_name).count()
        return http.JsonResponse({'code': 200, 'errmsg': 'OK', 'count': count})


class GetItemView(View):
    def get(self, request):
        host_id = request.GET.get('host_id')
        # print(host_id)
        conn = pymysql.connect(host='192.168.72.132', port=3306, user='root', passwd='111111', db='cmc', charset='utf8')
        sql = "select * from main_citem where hostId= %s"
        cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
        cursor.execute(sql, host_id)
        item = cursor.fetchall()
        # 关闭游标,关闭数据库链接
        # print(item)
        cursor.close()
        conn.close()
        return http.JsonResponse({'code': 200, 'errmsg': 'OK', 'item': item})


class GetTriggerView(View):
    def get(self, request):
        item_id = request.GET.get('item_id')
        # print(host_id)
        conn = pymysql.connect(host='192.168.72.132', port=3306, user='root', passwd='111111', db='cmc', charset='utf8')
        sql = "select * from main_ctrigger where itemId= %s"
        cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
        cursor.execute(sql, item_id)
        trigger = cursor.fetchall()
        # 关闭游标,关闭数据库链接
        # print(item)
        cursor.close()
        conn.close()
        return http.JsonResponse({'code': 200, 'errmsg': 'OK', 'trigger': trigger})

class GetScriptsView(View):
    def get(self, request):
        file_list = utils.all_path(r"scripts")
        print(file_list)
        return http.JsonResponse({'code': 200, 'errmsg': 'OK', 'file_list': file_list})

子类故障

from django.shortcuts import render, redirect
from django.views import View
from django import http
import re
import json

import pymysql
from .models import FaultInfo, ChildFaultInfo
from . import utils
from django.core import serializers




class ChildDelFaults(View):
    def get(self, request):
        params = request.GET.get('select').encode('utf-8', 'ignore').decode('utf-8')
        print(type(params))
        params = re.findall(r'\d+', params)
        print(params)
        params = [int(i) for i in params]
        for i in params:
            print(i)
            ChildFaultInfo.objects.filter(cid=i).delete()
        return render(request, 'index.html')

class ChildModFaultsView(View):
    def get(self, request):
        return render(request, 'child_faults_type_mod.html')

    def post(self, request):
        str = request.path
        list = str.split('/')
        fault_name = list[-2]
        # print(fault_name)
        name = request.POST.get('fault_name')
        desc = request.POST.get('fault_desc')
        # print(name, desc)
        fault_data = ChildFaultInfo.objects.get(name=fault_name)
        # print(fault_data.name)
        fault_data.name = name
        # print(fault_data.name)
        fault_data.desc = desc
        fault_data.save()
        return http.JsonResponse({'state': 'success'})


class ChildFaultView(View):
    def get(self, request):
        # faults = ChildFaultInfo.objects.filter()
        str = request.path
        list = str.split('/')
        fault_name = list[-2]
        # print(fault_name)
        faults = ChildFaultInfo.objects.filter(pid=fault_name)
        p_faults = FaultInfo.objects.filter(id=fault_name)
        p_faults = json.loads(serializers.serialize('json', p_faults))
        # print(p_faults)
        for i in faults:
            i.p_name = p_faults[0]['fields']['name']

        print(faults)
        return render(request, 'child_faults_type.html', {'faults': faults})


class AddChildFaultView(View):
    def get(self, request):
        return render(request, 'child_faults_add.html')

    def post(self, request):
        str = request.path
        list = str.split('/')
        # print(list)
        fault_name = list[-3]
        # print(fault_name)
        pid = fault_name
        name = request.POST.get('fault_name')
        desc = request.POST.get('fault_desc')
        print(name, desc)
        default = ChildFaultInfo(pid=pid, name=name,
                                 desc=desc)
        default.save()
        return http.JsonResponse({'state': 'success'})


class ChildNameCountView(View):
    def get(self, request, fault_name):
        count = ChildFaultInfo.objects.filter(name=fault_name).count()
        return http.JsonResponse({'code': 200, 'errmsg': 'OK', 'count': count})




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值