Django 搭建CMDB系统完整[7](添加机房、分页)

search_machinaroom.html

{% extends 'base.html' %}

{% block title %}











搜索

  机房名字  

新增/编辑


  机房名字  
  机房位置  
  机房VPN  
  备注  












{% endblock %}

{% block content %}












{% for mr in machinaroomlist.object_list %}








{% endfor %}

机房名字 机房位置 VPN链接 备注 操作
{{ mr.name }} {{ mr.location }} {{ mr.vpnurl }} {{ mr.memo }}
编辑
删除





{% endblock %}

vi cmdbapp/views.py

Create your views here.

def main_page(request):
return render_to_response('main_page.html', {'user':request.user })
def base(request):
return render_to_response('base.html')

def search_machinaroom(request):
error = False
each_page = 5
mname=request.GET.get('mname','0')
if mname=='0' or mname.strip()=='':
record_list = Machinaroom.objects.all()
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_machinaroom.html',{'machinaroomlist':contacts,"mname":mname})
else:

        record_list = Machinaroom.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_machinaroom.html',{'machinaroomlist':contacts,"mname":mname})

def add_machinaroom(request):
n = request.POST.get('machinaroomname')
l = request.POST.get('machinaroomlocation')
v = request.POST.get('machinaroomvpnurl')
m = request.POST.get('machinaroommemo')
Machinaroom.objects.create(name=n,location=l,vpnurl=v,memo=m)
return HttpResponseRedirect('search_machinaroom.html')

vi cmdb/settings.py

注释csrf

'django.middleware.csrf.CsrfViewMiddleware',

vi 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'^', 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 views
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.*)',views.main_page,name='main_page'),
url(r'^base',views.base,name='base'),
url(r'^search_machinaroom.html',views.add_machinaroom,name='add_machinaroom'),
url(r'^login/$', login),
]

你可能感兴趣的:(Django 搭建CMDB系统完整[7](添加机房、分页))