设为首页 收藏本站
查看: 337|回复: 0

[经验分享] Python脚本之django

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-9-11 10:39:28 | 显示全部楼层 |阅读模式
[iyunv@LVS1 python]# tar -zxvf Django-1.5.1.tar.gz
[iyunv@LVS1 python]# cd Django-1.5.1
[iyunv@LVS1 Django-1.5.1]# python setup.py install
[iyunv@LVS1 Django-1.5.1]# cd django/bin/
[iyunv@LVS1 bin]# ./django-admin.py startproject myweb
[iyunv@LVS1 bin]# cd myweb
[iyunv@LVS1 myweb]# ./manage.py runserver 0.0.0.0:8000
#http://192.168.1.10:8000/
--------------------------------------------------------------
[iyunv@LVS1 bin]# cd myweb
[iyunv@LVS1 myweb]# pwd
/tmp/python/Django-1.5.1/django/bin/myweb/myweb
vi view.py
from django.http import HttpResponse
import datetime,time,os
def hello(request):
        return HttpResponse('hello my name is xk')
def current_time(request):
        now=datetime.datetime.now()
        html="It is now :%s"%now
        return HttpResponse(html)
def cpu(request):
        status=os.popen('top -bn 1').read()
        html="<pre>%s"%status
        return HttpResponse(html)
def hours_ahead(request,h):
        offset=int(h)
        dt=datetime.datetime.now() + datetime.timedelta(hours=offset)
        html="In %s hours later,It is %s"%(h,dt)
        return HttpResponse(html)
----------------------------------------------------------------------------
[iyunv@LVS1 myweb]# vi urls.py
from django.conf.urls import patterns, include, url

# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()
from myweb.view import hello,current_time,cpu,hours_ahead

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'myweb.views.home', name='home'),
    # url(r'^myweb/', include('myweb.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
      (r'^hello/$',hello),
        (r'^time/$',current_time),
        (r'^cpu/$',cpu),
        (r'^time/plus/(\d{1,2})/$',hours_ahead),
)

#http://192.168.1.10:8000/hello/
#########################################################模板
[iyunv@LVS1 myweb]# pwd
/tmp/python/Django-1.5.1/django/bin/myweb/myweb
[iyunv@LVS1 myweb]# tail -2000 view.py
from django.shortcuts import render_to_response
import os
import paramiko
hosts=['192.168.1.10','192.168.1.11','192.168.1.12','192.168.1.13']
username='root'
password='123456'
port=22
d_usage={}
def disk(request):
        for hostname in hosts:
                if os.system('ping %s -c 1'%hostname)==0:
                        paramiko.util.log_to_file('paramiko.log')
                        s = paramiko.SSHClient()
                        s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
                        s.connect(hostname,port,username,password)
                        stdin,stdout,stderr=s.exec_command('free')
                        d_usage[hostname]= stdout.read()
                        s.close()
                else:
                        d_usage[hostname]='host Destination Host Unreachable'
                name={'xkq':[25,'male'],'zq':[23,'male'],}
        return render_to_response('disk.html',{"d_usage":d_usage,'name':name,})
------------------------------------------------------------
[iyunv@LVS1 templates]# pwd
/tmp/python/Django-1.5.1/django/bin/myweb/myweb/templates
[iyunv@LVS1 templates]# tail -1000 disk.html
<html>
<body>
<p> show disk usage<p></br>
{{d_usage}}</br>
{% for ip,value in d_usage.items %}
        {{ip}}
<pre>   {{value}}</pre>

{% endfor %}
        {{name}}
</body>
</html>
##########################################测试不对一下
from django.shortcuts import render_to_response
import multiprocessing
import os,time
import paramiko
hosts=['192.168.1.10','192.168.1.11']
#,'192.168.1.12','192.168.1.13']
username='root'
password='123456'
port=22
name={}
d_usage=[]
#d_usage={}
def cmd(hostname):
        if os.system('ping %s -c 1'%hostname)==0:
                paramiko.util.log_to_file('paramiko.log')
                s = paramiko.SSHClient()
                s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
                s.connect(hostname,port,username,password)
                stdin,stdout,stderr=s.exec_command('free')
#               d_usage[hostname]= stdout.read()
#               print stdout.read()
                print 'xukeqiang'
                s.close()
        else:
#               d_usage[hostname]='host Destination Host Unreachable'
                print  'host Destination Host Unreachable'
                name={'xkq':[25,'male'],'zq':[23,'male'],}
        #       sleep.time(10)
def disk(request):
        p=multiprocessing.Pool(processes=2)
        for hostname in hosts:
                d_usage.append((p.apply_async(cmd,('%s'%hostname,))))
        time.sleep(20)
        p.close()
#       p.join()
        for i in d_usage:
                i.get(timeout=20)

        time.sleep(10)
        return render_to_response('disk.html',{"d_usage":d_usage,'name':name,})








运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-404305-1-1.html 上篇帖子: python监控系统资源 下篇帖子: python基础及列表的讲解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表