老早之前就想做一个运维管理平台的项目了,但是一直没沉下来去做,上半年的时候毕设选择了这个课题,想着逼自己一把,不管做出来的怎么样,先把它搞起来.....

 django的工作原理:

django实现Linux运维管理平台_第1张图片

文字说明:

1)Web服务器收到用户的http请求。

2) Django通过URL控制器来判断对应的视图(View)函数从而对http请求做处理。

3)视图函数调用相应的模型来存取数据、调用相应的模板把数据展示出来。

4)视图函数最终返回一个http的响应给Web服务器。

5)Web服务器把接收到的响应数据发给浏览器,浏览器把响应渲染展示出来。

 我个人独自开发项目的功能模块图:

django实现Linux运维管理平台_第2张图片

我在django项目下面创建了多个app,分别负责独立的功能。

 一、用户注册登录:

 视图:

# coding:utf-8
from django.shortcuts import render,render_to_response
import os
import commands
from django.http import HttpResponse,HttpResponseRedirect
from .models import monitors,User,question,Experience
from django import forms
from django.template import RequestContext
from django.contrib import auth
from cmdb.models  import Information
from webssh.forms import websshform


#用户注册
def register(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        try:
             registusername = User.objects.filter(username=username).get().username
             registered="已经注册了"
             return render(request,'register.html',{'registusername':registusername,'registered':registered})
        except:
            registAdd = User.objects.create(username=username,password=password)
            Registered="注册成功!!!"
            return render(request,'register.html',{'registAdd':registAdd,'Registered':Registered})
    else:
        return render(request,'register.html')
    return render(request,'register.html')

#用户登录
def login(request):
    if request.method == 'POST':
        username = request.POST.get("username","")
        password = request.POST.get("password","")
        user = User.objects.filter(username__exact = username,password__exact = password)
        if user:                                                 #如果用户匹配成功
            response = HttpResponseRedirect('/index/')           #重定向到index
            response.set_cookie('cookie_username',username,36)   #设置cookie 
            return response                                      #把index页面输出   
        else:
            nopass="用户名或者密码输入错误"                      #没有匹配成功  
            return render(request,'login.html',{'nopass':nopass}) 
        return HttpResponse('yes')
    return render(request,'login.html')  

#用户注销登录   
def logout(request):
    return render(request,'login.html')
    response.delete_cookie('cookie_username')                    #删除cookie_username对应的用户的cookie 
    return  response

 模板templates:

登录页面:

{% load staticfiles %}



Login



 addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } 
 



 


 




  
    
  
  Linux运维管理平台登录页面              {{ nopass  }}{{ deltxt }}     {% csrf_token %}