`
bee1314
  • 浏览: 166517 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

bottle简单实现一个调用shell的web前端

 
阅读更多

    有一个small case,一个简单的web界面填写两个参数,能给传递给后端,然后后端调用shell,然后将前端填写的参数传递给shell。 对于这个简单的需求,首先python搞定,本打算用tornado搞定,但想到之前学习了下bottle,简单优雅,更可以简单的解决这个问题。然后就选择web framework。python调用shell也很简单,但是有个更优雅的python的sh交互的库,就是sh,可以通过pip install sh来安装,sh真是不错,昨天看到了一个clojure的sh的DSL,发现真是异曲同工之妙。后面单独介绍下。

 

创建项目环境:

pip install mkvirtualenvwrapper
mkvirtualenv bottle-env
workon bottle-env

 项目依赖:

argparse==1.2.1
bottle==0.11.6
sh==1.09
wsgiref==0.1.2

项目结构:
├── app.py
├── LICENSE
├── README.md
├── requirement.txt
└── views
    ├── index.tpl
    └── result.tpl

 

   简单的app.py 简单的web层

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sh
from bottle import get, post, template, request, run


#GET/
@get('/')
def index():
    return template('index.tpl')


@post('/shell')
def shell():
    param1 = request.forms.get('param1')
    param2 = request.forms.get('param2')
    print "param1:%s param2:%s" % (param1, param2)
    #call you shell, for example ls
    #the sh libary is so awesome!!
    #if you need call local sh, you can
    #run_shell = sh.Command('/home/run.sh')
    #run_shell()
    result = sh.ls(param1 + param2)
    print "end..."
    return template('result.tpl', result=result)


if __name__ == '__main__':
    run(host='0.0.0.0', port=3000, debug=True, reloader=True)

 

code:https://github.com/hufeng/simplesh

 

分享到:
评论

相关推荐

    前端项目-bottleneck.zip

    【前端项目-bottleneck.zip】是一个包含前端应用的压缩包,其主要目的是实现异步操作的速率限制。在现代Web应用程序中,特别是在处理大量数据或API请求时,速率限制是必不可少的一个环节。它有助于防止过载服务器、...

    bottle web开发 项目实战:任务管理系统 V1.0.rar

    在Python的Web开发领域,Bottle是一个轻量级的框架,它以其简洁、高效和易于上手的特点受到许多开发者的喜爱。本项目实战——任务管理系统V1.0,旨在帮助你深入理解和应用Bottle框架,同时提供了一个实用的项目案例...

    python bottle-docs

    Bottle是一个简单高效的遵循WSGI的微型python+Web框架。说微型,是因为它只有一个文件,除Python标准库外,它不依赖于任何第三方模块。&oq=Bottle是一个简单高效的遵循WSGI的微型python+Web框架。说微型,是因为它...

    浅谈Python使用Bottle来提供一个简单的web服务

    本篇文章将探讨如何利用Bottle框架创建一个简单的Web服务。 ### 安装Bottle 安装Bottle非常简单,只需要通过Python的包管理器pip进行安装: ```bash pip install bottle ``` ### 启动Web服务 启动一个基本的...

    留言簿代码(python 的一个bottle.py写的)

    这个项目是使用Python的微型Web框架Bottle实现的一个简单留言本应用。Bottle是一个轻量级的框架,适合开发小型的Web服务,它提供了路由、模板引擎、HTTP服务器等功能,让开发者能够快速构建Web应用。 【描述】:...

    使用bottle开发web API

    python使用bottle开发APP的服务器API例子 说明: 这个例子演示了如何使用bottle为APP开发API,并将相关的数据...在windows7下开发,在centos 6.3上运行正常,mysql与服务器部署在同一个机器上。 数据库请查看test.sql

    bottle web框架

    Bottle是一个为Python设计的快速、简单且轻量级的WSGI微型Web框架。它作为一个单文件模块发布,并且除了Python标准库之外没有其他依赖。 - **核心特性**: - **路由**:支持清洁且动态的URL映射到相应的函数调用。...

    Bottle: Python Web Framework - Doc HTML(zip)

    Bottle,作为一个小巧而强大的Python Web框架,深受开发者喜爱。其核心理念是简洁、高效,使得开发人员能够快速构建Web应用,尤其适合小型项目。这份"Bottle: Python Web Framework - Doc HTML(zip)"文档集合,包含...

    bottle-master.zip

    Bottle是一个单文件的微型Web框架,适合快速开发简单的Web服务或应用。它的核心设计理念是简单易用,使得开发者能够快速上手,实现从构思到运行的无缝对接。Bottle基于WSGI(Web Server Gateway Interface),并且...

    PyPI 官网下载 | bottle-0.11.6.tar.gz

    在本文中,我们将聚焦于一个名为“bottle”的轻量级Web框架,其版本为0.11.6,了解它的下载方式、核心功能以及如何在实际项目中应用。 首先,我们关注标题中的“PyPI官网下载”。PyPI官网(https://pypi.org/)是...

    magic-bottle项目是一套匿名社交系统,包括Andriod、WEB管理端以及服务端,采用DDD+CQRS架构

    magic-bottle项目是一套匿名社交系统,包括Andriod、WEB管理端以及服务端,采用DDD+CQRS架构 magic-bottle项目是一套匿名社交系统,包括Andriod、WEB管理端以及服务端,采用DDD+CQRS架构 magic-bottle项目是一套...

    python教程之bottle web开发

    本节将通过一个具体的案例来展示如何使用Bottle框架开发一个完整的Web应用,包括需求分析、设计、编码、测试和部署全过程。 通过本教程的学习,你应该能够掌握使用Bottle框架进行Web应用开发的基本技能,并能够独立...

    magic-bottle项目是一套匿名社交系统,包括IOS、Andriod、WEB管理端

    这是一套综合性的匿名社交系统,旨在为用户提供一个安全、私密的交流环境,无论你是iOS、Android还是Web用户,都能在其中找到属于自己的一片天地。本文将深入探讨这个项目的组成部分,技术选型以及实现原理。 首先...

    bottle学习

    Bottle是一个轻量级的Python Web框架,设计用于快速、简单地开发小型到中型的Web应用程序。它的核心理念是简洁和易用性,使得开发者能够以最少的代码实现复杂的功能。Bottle基于WSGI(Web Server Gateway Interface...

    Python用Bottle轻量级框架进行Web开发

    当前Python Web开发中的框架算Django最为流行了,但是本文介绍的是一个较为轻量级的Web框架:Bottle框架。理论性的东西就不讲了,直接上实例代码。 1.问题描述  最近做一个系统的后台开发,用的就是Python+Bottle...

    Bottle+两个仪表盘刷新数据

    综上所述,本项目综合运用了Python的Web开发、数据处理、数据可视化以及前端交互技术,展示了如何用Bottle和PyEcharts实现一个功能完备的实时数据刷新系统。这样的系统对于监控系统性能、跟踪业务指标或者数据分析等...

    bottle开发文档

    下面是一个简单的示例,展示如何使用Bottle构建一个“Hello World”应用: ```python from bottle import route, run, template @route('/hello/:name') def index(name='World'): return template('<b>Hello {{...

    python框架bottle使用文档

    Bottle是一个微型的Python Web框架,其设计思想非常独特:它只有一个文件模块,且不依赖于除Python标准库外的任何第三方模块。这使得Bottle非常轻巧,便于理解和使用。Bottle框架的特性包括路由、模板、工具和服务器...

    python bottle v0.11中文文档

    以下是一个简单的Bottle应用示例,展示了如何使用Bottle创建一个基本的“Hello World”应用: ```python from bottle import route, run @route('/hello/<name>') def index(name='World'): return '<b>Hello %s!...

Global site tag (gtag.js) - Google Analytics