本帖最后由 toven 于 2015-2-20 22:29 编辑
之前提出了这个问题,想在将CT做成一个类似工控机的东东,在CT.Debian有一些控制程序,采用WEB页面进行控制。关于web页面的控制,我看比较好的都是用cgi类的东东实现,我用boa+cgi试了试,效果还可以,但是cgi毕竟麻烦,对于html支持...那简直...后来也懒得进行下去了。
再后来无意中发现python实现web server那是如此之简单,偶还有一点点python的基础,对web.py也有一知半解,觉得这是一个比较不错的方法,于是有了本文。
由于单位限制,只给出一个简单的例子,将表单提交的name和pas两个字段写入一个文本文件,做数据交换用。其他当然举一反三。这个例子是在windows上实现的,在debian上实现基本相同,依赖于python强大的跨平台特性
webserver.py
# -*- coding:utf-8 -*-
import web
urls = (
'/', 'index'
)
app = web.application(urls, globals())
class index:
def GET(self):
_param = web.input()
name = ('name' in _param.keys()) and _param.name or 'None'
pas = ('pas' in _param.keys()) and _param.pas or 'None'
render = web.template.render('tpl/')
fp = open('c:/test.txt','w')
fp.write('name='+name+'\t'+'pas='+pas)
fp.close()
return render.main([name,'\t',pas])
if __name__ == "__main__":
app.run()
test.html
<html>
<body>
<form action="../" method="get">
<input name="name" type="text">
<input name="pas" type="text" >
<input type="submit" value="submit">
</form>
</body>
</html>
|