我理解米格尔·格林伯格(Miguel Grinberg)这本书《烧瓶网络开发》中的例子,但我试图做一些有点奇怪的事情。我希望能够单击像这样的图像的“部分”->; http://www.w3schools.com/tags/tag_area.asp
不过,我希望它能打开一个SSH窗口来访问我网络中的特定节点。
我用一个单独的页面让它按照示例工作。如果我打开本地主机:5000/叶1这是完美的工作,但是我想从一个链接传递一个cgi-bin-POST命令,这样用户仍然在同一个页面上(它不会转到另一个页面…)。我有点卡住了。在
下面是python脚本启动烧瓶:
import subprocess
import logging
from logging.handlers import RotatingFileHandler
from flask import Flask, render_template, request, url_for
from flask.ext.script import Manager
from flask.ext.bootstrap import Bootstrap
from flask.ext.moment import Moment
from flask.ext.wtf import Form
from wtforms import StringField, SubmitField, HiddenField
from wtforms.validators import Required
app = Flask(__name__)
app.config['SECRET_KEY'] = 'hard to guess string'
manager = Manager(app)
bootstrap = Bootstrap(app)
moment = Moment(app)
class SwitchForm(Form):
name = HiddenField('Switch being accessed', validators=[Required()])
@app.route("/leaf1")
def leaf1():
cmd = ['DISPLAY=:03.0 xterm -e "ssh leaf1"']
p = subprocess.Popen(cmd, stdout = subprocess.PIPE,
stderr=subprocess.PIPE,
stdin=subprocess.PIPE, shell=True)
out,err = p.communicate()
return out
@app.route('/', methods=['GET', 'POST'])
def index():
leaf=None
if request.method == 'POST':
switch=request.form['leaf']
if switch == '1':
return ''' hello guy '''
return render_template('index.html')
if __name__ == '__main__':
handler = RotatingFileHandler('log.log', maxBytes=10000, backupCount=1)
handler.setLevel(logging.INFO)
app.logger.addHandler(handler)
manager.run()
这是索引.html模板文件
^{pr2}$
目前没有回答
相关问题 更多 >
编程相关推荐