天天看點

Django 搭建CMDB系統完整[12](軟體資産、廠商)search_software.htmlsearch_manufactory.htmlcmdbapp/softwareviews.py-- coding: utf-8 --cmdbapp/manufactoryviews.py-- coding: utf-8 --cmdb/urls.py

search_software.html

{% extends 'base.html' %}

{% block title %}

<script type="text/javascript" src="/static/scripts/jquery/jquery-1.7.1.js"></script>

<link href="/static/style/authority/basic_layout.css" rel="stylesheet" type="text/css">

<link href="/static/style/authority/common_style.css" rel="stylesheet" type="text/css">

<script type="text/javascript" src="/static/scripts/authority/commonAll.js"></script>

<script type="text/javascript" src="/static/scripts/fancybox/jquery.fancybox-1.3.4.js"></script>

<script type="text/javascript" src="/static/scripts/fancybox/jquery.fancybox-1.3.4.pack.js"></script>

<link rel="stylesheet" type="text/css" href="/static/style/authority/jquery.fancybox-1.3.4.css" media="screen"></link>

<script type="text/javascript" src="/static/scripts/artDialog/artDialog.js?skin=default"></script>

<div id="container">

<div class="ui_content">

<div class="ui_text_indent">

<div id="box_border">

<div id="box_top">搜尋</div>

  軟體名字  <input type="text" id="mname" name="mname" value="{{ mname }}" class="ui_input_txt02" />

</div>

<div id="box_top">新增/編輯</div>

<form id="submitForm" name="submitForm" method="post" action="add_software.html">

<input type="hidden" id="softwareid" name="softwareid"/>

  軟體名字  <input type="text" id="softwarename" name="softwarename" class="ui_input_txt02" />

  授權數  <input type="text" id="softwarelicense_num" name="softwarelicense_num" class="ui_input_txt02" />

  版本号  <input type="text" id="softwareversion" name="softwareversion" class="ui_input_txt02" />

<div id="box_bottom">

<div class="pagination">

<span class="current">

{% if softwarelist.has_previous %}

<a href="javascript:void(0)" onclick="search_software({{ softwarelist.previous_page_number }});">上一頁</a>

{% endif %}

<span class="current">
        Page {{ softwarelist.number }} of {{ softwarelist.paginator.num_pages }}.
    </span>

    {% if softwarelist.has_next %}
        <a href="javascript:void(0)" onclick="search_software({{ softwarelist.next_page_number }});">下一頁</a>
    {% endif %}
</span>
           

<input type="button" value="查詢" class="ui_input_btn01" onclick="search_software(1);"/>

<input type="submit" value="新增" class="ui_input_btn01" />

<input type="button" value="編輯" class="ui_input_btn01" onclick="edit_software({{ softwarelist.number }});" />

<input type="button" value="删除" class="ui_input_btn01" onclick="batdel_software();" />

<input type="button" value="導出EXCEL" class="ui_input_btn01" onclick="excel_software();" />

</form>

{% endblock %}

{% block content %}

<div class="ui_tb">

<table class="table" cellspacing="0" cellpadding="0" width="100%" align="center" border="0">

<tr>

<th width="30"><input type="checkbox" id="id" name="id" />

</th>

<th>軟體名字</th>

<th>授權數</th>

<th>版本号</th>

<th>操作</th>

</tr>

{% for mr in softwarelist.object_list %}

<td><input type="checkbox" name="idcheck" value={{ mr.id }} class="acb" /></td>

<td>{{ mr.name }}</td>

<td>{{ mr.license_num }}</td>

<td>{{ mr.version }}</td>

<td>

<a href="javascript:void(0)" onclick="edit_mr('{{ mr.id }}','{{ mr.name }}','{{ mr.license_num }}','{{ mr.version }}')" class="edit">編輯</a>

<a href="javascript:void(0)" onclick="del_software({{ mr.id }},{{ softwarelist.number }});">删除</a>

</td>

{% endfor %}

</table>

<script type="text/javascript">

function search_software(page){

var text1 = document.getElementById("mname").value;

var myurl="search_software.html"+"?"+"mname="+text1+"&&page="+page;

window.location.assign(encodeURI(myurl))

}

function edit_mr(id,name,license_num,version){

document.getElementById("softwareid").value=id;

document.getElementById("softwarename").value=name;

document.getElementById("softwarelicense_num").value=license_num;

document.getElementById("softwareversion").value=version;

function edit_software(page){

id=document.getElementById("softwareid").value;

name=document.getElementById("softwarename").value;

license_num=document.getElementById("softwarelicense_num").value;

version=document.getElementById("softwareversion").value;

var myurl="edit_software.html"+"?"+"id="+id+"&&name="+name+"&&license_num="+license_num+"&&version="+version+"&&mname="+text1+"&&page="+page;

function del_software(id,page){

if(window.confirm('确定要删除該記錄嗎?')){

var text1= document.getElementById("mname").value;

var myurl="del_software.html"+"?"+"id="+id+"&&mname="+text1+"&&page="+page;

return true;

}else{

//alert("取消");

return false;

function batdel_software(){

if(window.confirm('确定要删除記錄嗎?')){

obj = document.getElementsByName("idcheck");

check_val = [];

for(k in obj){

if(obj[k].checked)

check_val.push(obj[k].value);

var myurl="batdel_software.html"+"?"+"ids="+check_val+"&&mname="+text1;

function excel_software(){

var myurl="excel_software.html"+"?"+"mname="+text1;

</script>

search_manufactory.html

  廠商名字  <input type="text" id="mname" name="mname" value="{{ mname }}" class="ui_input_txt02" />

<form id="submitForm" name="submitForm" method="post" action="add_manufactory.html">

<input type="hidden" id="manufactoryid" name="manufactoryid"/>

  廠商名字  <input type="text" id="manufactorymanufactory" name="manufactorymanufactory" class="ui_input_txt02" />

  廠商電話  <input type="text" id="manufactorysupport_num" name="manufactorysupport_num" class="ui_input_txt02" />

  備注  <input type="text" id="manufactorymemo" name="manufactorymemo" class="ui_input_txt02" />

{% if manufactorylist.has_previous %}

<a href="javascript:void(0)" onclick="search_manufactory({{ manufactorylist.previous_page_number }});">上一頁</a>

<span class="current">
        Page {{ manufactorylist.number }} of {{ manufactorylist.paginator.num_pages }}.
    </span>

    {% if manufactorylist.has_next %}
        <a href="javascript:void(0)" onclick="search_manufactory({{ manufactorylist.next_page_number }});">下一頁</a>
    {% endif %}
</span>
           

<input type="button" value="查詢" class="ui_input_btn01" onclick="search_manufactory(1);"/>

<input type="button" value="編輯" class="ui_input_btn01" onclick="edit_manufactory({{ manufactorylist.number }});" />

<input type="button" value="删除" class="ui_input_btn01" onclick="batdel_manufactory();" />

<input type="button" value="導出EXCEL" class="ui_input_btn01" onclick="excel_manufactory();" />

<th>廠商名字</th>

<th>廠商電話</th>

<th>備注</th>

{% for mr in manufactorylist.object_list %}

<td>{{ mr.manufactory }}</td>

<td>{{ mr.support_num }}</td>

<td>{{ mr.memo }}</td>

<a href="javascript:void(0)" onclick="edit_mr('{{ mr.id }}','{{ mr.manufactory }}','{{ mr.support_num }}','{{ mr.memo }}')" class="edit">編輯</a>

<a href="javascript:void(0)" onclick="del_manufactory({{ mr.id }},{{ manufactorylist.number }});">删除</a>

function search_manufactory(page){

var myurl="search_manufactory.html"+"?"+"mname="+text1+"&&page="+page;

document.getElementById("manufactoryid").value=id;

document.getElementById("manufactorymanufactory").value=name;

document.getElementById("manufactorysupport_num").value=license_num;

document.getElementById("manufactorymemo").value=version;

function edit_manufactory(page){

id=document.getElementById("manufactoryid").value;

name=document.getElementById("manufactorymanufactory").value;

license_num=document.getElementById("manufactorysupport_num").value;

version=document.getElementById("manufactorymemo").value;

var myurl="edit_manufactory.html"+"?"+"id="+id+"&&manufactory="+name+"&&support_num="+license_num+"&&memo="+version+"&&mname="+text1+"&&page="+page;

function del_manufactory(id,page){

var myurl="del_manufactory.html"+"?"+"id="+id+"&&mname="+text1+"&&page="+page;

function batdel_manufactory(){

var myurl="batdel_manufactory.html"+"?"+"ids="+check_val+"&&mname="+text1;

function excel_manufactory(){

var myurl="excel_manufactory.html"+"?"+"mname="+text1;

cmdbapp/softwareviews.py

-- coding: utf-8 --

from future import unicode_literals

from django.shortcuts import render,render_to_response

from django.core.paginator import Paginator,InvalidPage,EmptyPage

from cmdbapp.models import *

from django.http import HttpResponse

from django.http import HttpResponseRedirect

from xlwt import *

import StringIO

def search_software(request):

error = False

each_page = 5

mname=request.GET.get('mname','0')

if mname=='0' or mname.strip()=='':

record_list = Software.objects.all()

mname=''

paginator = Paginator(record_list,each_page)

try:

page = int(request.GET.get('page', '1'))

except ValueError:

page = 1

contacts = paginator.page(page)

except (EmptyPage, InvalidPage):

contacts = paginator.page(paginator.num_pages)

return render_to_response('search_software.html',{'softwarelist':contacts,"mname":mname})

else:

record_list = Software.objects.filter(name=mname)
        paginator = Paginator(record_list,each_page)
        try:
            page = int(request.GET.get('page', '1'))
        except ValueError:
            page = 1
        try:
            contacts = paginator.page(page)
        except (EmptyPage, InvalidPage):
            contacts = paginator.page(paginator.num_pages)
        return render_to_response('search_software.html',{'softwarelist':contacts,"mname":mname})
           

def add_software(request):

n = request.POST.get('softwarename')

v = request.POST.get('softwareversion')

l = request.POST.get('softwarelicense_num')

Software.objects.create(name=n,license_num=l,version=v)

return HttpResponseRedirect('search_software.html')

def edit_software(request):

id=request.GET.get('id')

iid=int(id)

name=request.GET.get('name')

l=request.GET.get('license_num')

v=request.GET.get('version')

Software.objects.filter(id=iid).update(name=name,license_num=l,version=v)

page=request.GET.get('page')

mname=request.GET.get('mname')

return HttpResponseRedirect('search_software.html?mname='+mname+"&&page="+page)

def del_software(request):

Software.objects.filter(id=iid).delete()

def batdel_software(request):

ids=request.GET.get('ids')

b=ids.split(',')

arr = map(int,b)

for aaa in arr:

Software.objects.filter(id=aaa).delete()

return HttpResponseRedirect('search_software.html?mname='+mname)

def excel_software(request):

list_obj = Software.objects.all()

list_obj = Software.objects.filter(name=mname)

if list_obj:

# 建立工作薄

ws = Workbook(encoding='utf-8')

w = ws.add_sheet(u"軟體清單")

w.write(0, 0, "id")

w.write(0, 1, u"軟體名字")

w.write(0, 2, u"授權數")

w.write(0, 3, u"版本号")

# 寫入資料

excel_row = 1

for obj in list_obj:

data_id = obj.id

data_name = obj.name

data_license_num = obj.license_num

data_version = obj.version

w.write(excel_row, 0, data_id)

w.write(excel_row, 1, data_name)

w.write(excel_row, 2, data_license_num)

w.write(excel_row, 3, data_version)

excel_row += 1

sio = StringIO.StringIO()

ws.save(sio)

sio.seek(0)

response = HttpResponse(sio.getvalue(), content_type='application/vnd.ms-excel')

response['Content-Disposition'] = 'attachment; filename=機房清單-'+mname+'.xls'

response.write(sio.getvalue())

return response

cmdbapp/manufactoryviews.py

def search_manufactory(request):

record_list = Manufactory.objects.all()

return render_to_response('search_manufactory.html',{'manufactorylist':contacts,"mname":mname})

record_list = Manufactory.objects.filter(name=mname)
        paginator = Paginator(record_list,each_page)
        try:
            page = int(request.GET.get('page', '1'))
        except ValueError:
            page = 1
        try:
            contacts = paginator.page(page)
        except (EmptyPage, InvalidPage):
            contacts = paginator.page(paginator.num_pages)
        return render_to_response('search_manufactory.html',{'manufactorylist':contacts,"mname":mname})
           

def add_manufactory(request):

n = request.POST.get('manufactorymanufactory')

v = request.POST.get('manufactorysupport_num')

l = request.POST.get('manufactorymemo')

Manufactory.objects.create(manufactory=n,support_num=v,memo=l)

return HttpResponseRedirect('search_manufactory.html')

def edit_manufactory(request):

name=request.GET.get('manufactory')

l=request.GET.get('support_num')

v=request.GET.get('memo')

Manufactory.objects.filter(id=iid).update(manufactory=name,support_num=l,memo=v)

return HttpResponseRedirect('search_manufactory.html?mname='+mname+"&&page="+page)

def del_manufactory(request):

Manufactory.objects.filter(id=iid).delete()

def batdel_manufactory(request):

Manufactory.objects.filter(id=aaa).delete()

return HttpResponseRedirect('search_manufactory.html?mname='+mname)

def excel_manufactory(request):

list_obj = Manufactory.objects.all()

list_obj = Manufactory.objects.filter(name=mname)

w = ws.add_sheet(u"廠商清單")

w.write(0, 1, u"廠商名字")

w.write(0, 2, u"電話")

w.write(0, 3, u"備注")

data_name = obj.manufactory

data_license_num = obj.support_num

data_version = obj.memo

cmdb/urls.py

"""cmdb URL Configuration

The

urlpatterns

list routes URLs to views. For more information please see:

https://docs.djangoproject.com/en/1.11/topics/http/urls/

Examples:

Function views

1. Add an import: from my_app import views

2. Add a URL to urlpatterns: url(r'^

Django 搭建CMDB系統完整[12](軟體資産、廠商)search_software.htmlsearch_manufactory.htmlcmdbapp/softwareviews.py-- coding: utf-8 --cmdbapp/manufactoryviews.py-- coding: utf-8 --cmdb/urls.py

', Home.as_view(), name='home')

Including another URLconf

1. Import the include() function: from django.conf.urls import url, include

2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))

"""

from django.conf.urls import url

from django.contrib import admin

from cmdbapp import machinaroomviews,serverviews,networkdeviceviews,securitydeviceviews,softwareviews,storagedeviceviews,manufactoryviews

from django.contrib.auth.views import *

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

from django.contrib import staticfiles

from django.views.static import serve

urlpatterns = [

url(r'^static/(?P<path>.*)

Django 搭建CMDB系統完整[12](軟體資産、廠商)search_software.htmlsearch_manufactory.htmlcmdbapp/softwareviews.py-- coding: utf-8 --cmdbapp/manufactoryviews.py-- coding: utf-8 --cmdb/urls.py

',machinaroomviews.main_page,name='main_page'),

url(r'^base',machinaroomviews.base,name='base'),

url(r'^search_machinaroom.html

Django 搭建CMDB系統完整[12](軟體資産、廠商)search_software.htmlsearch_manufactory.htmlcmdbapp/softwareviews.py-- coding: utf-8 --cmdbapp/manufactoryviews.py-- coding: utf-8 --cmdb/urls.py

',machinaroomviews.add_machinaroom,name='add_machinaroom'),

url(r'^edit_machinaroom.html',machinaroomviews.edit_machinaroom,name='edit_machinaroom'),

url(r'^del_machinaroom.html',machinaroomviews.del_machinaroom,name='del_machinaroom'),

url(r'^batdel_machinaroom.html',machinaroomviews.batdel_machinaroom,name='batdel_machinaroom'),

url(r'^excel_machinaroom.html',machinaroomviews.excel_machinaroom,name='excel_machinaroom'),

url(r'^login/

Django 搭建CMDB系統完整[12](軟體資産、廠商)search_software.htmlsearch_manufactory.htmlcmdbapp/softwareviews.py-- coding: utf-8 --cmdbapp/manufactoryviews.py-- coding: utf-8 --cmdb/urls.py

',serverviews.search_server,name='search_server'),

url(r'^add_server.html

Django 搭建CMDB系統完整[12](軟體資産、廠商)search_software.htmlsearch_manufactory.htmlcmdbapp/softwareviews.py-- coding: utf-8 --cmdbapp/manufactoryviews.py-- coding: utf-8 --cmdb/urls.py

',serverviews.edit_server,name="edit_server"),

url(r'^del_server.html',serverviews.del_server,name='del_server'),

url(r'^batdel_server.html',serverviews.batdel_server,name='batdel_server'),

url(r'^excel_server.html',serverviews.excel_server,name='excel_server'),

url(r'^search_networkdevice.html

Django 搭建CMDB系統完整[12](軟體資産、廠商)search_software.htmlsearch_manufactory.htmlcmdbapp/softwareviews.py-- coding: utf-8 --cmdbapp/manufactoryviews.py-- coding: utf-8 --cmdb/urls.py

',networkdeviceviews.add_networkdevice,name="add_networkdevice"),

url(r'^edit_networkdevice.html

Django 搭建CMDB系統完整[12](軟體資産、廠商)search_software.htmlsearch_manufactory.htmlcmdbapp/softwareviews.py-- coding: utf-8 --cmdbapp/manufactoryviews.py-- coding: utf-8 --cmdb/urls.py

',securitydeviceviews.search_securitydevice,name='search_securitydevice'),

url(r'^add_securitydevice.html

Django 搭建CMDB系統完整[12](軟體資産、廠商)search_software.htmlsearch_manufactory.htmlcmdbapp/softwareviews.py-- coding: utf-8 --cmdbapp/manufactoryviews.py-- coding: utf-8 --cmdb/urls.py

',securitydeviceviews.edit_securitydevice,name="edit_securitydevice"),

url(r'^del_securitydevice.html',securitydeviceviews.del_securitydevice,name='del_securitydevice'),

url(r'^batdel_securitydevice.html',securitydeviceviews.batdel_securitydevice,name='batdel_securitydevice'),

url(r'^excel_securitydevice.html',securitydeviceviews.excel_securitydevice,name='excel_securitydevice'),

url(r'^search_storagedevice.html

Django 搭建CMDB系統完整[12](軟體資産、廠商)search_software.htmlsearch_manufactory.htmlcmdbapp/softwareviews.py-- coding: utf-8 --cmdbapp/manufactoryviews.py-- coding: utf-8 --cmdb/urls.py

',storagedeviceviews.add_storagedevice,name="add_storagedevice"),

url(r'^edit_storagedevice.html

Django 搭建CMDB系統完整[12](軟體資産、廠商)search_software.htmlsearch_manufactory.htmlcmdbapp/softwareviews.py-- coding: utf-8 --cmdbapp/manufactoryviews.py-- coding: utf-8 --cmdb/urls.py

',softwareviews.search_software,name='search_software'),

url(r'^add_software.html

Django 搭建CMDB系統完整[12](軟體資産、廠商)search_software.htmlsearch_manufactory.htmlcmdbapp/softwareviews.py-- coding: utf-8 --cmdbapp/manufactoryviews.py-- coding: utf-8 --cmdb/urls.py

',manufactoryviews.search_manufactory,name='search_manufactory'),

url(r'^add_manufactory.html$',manufactoryviews.add_manufactory,name='add_manufactory'),

url(r'^edit_manufactory.html',manufactoryviews.edit_manufactory,name='edit_manufactory'),

url(r'^del_manufactory.html',manufactoryviews.del_manufactory,name='del_manufactory'),

url(r'^batdel_manufactory.html',manufactoryviews.batdel_manufactory,name='batdel_manufactory'),

url(r'^excel_manufactory.html',manufactoryviews.excel_manufactory,name='excel_manufactory'),

]