the5fire的技术博客

关注python、vim、linux、web开发和互联网--life is short, we need python.


python无框架开发网站 10170°C

作者:the5fire | 标签:       | 发布:2013-01-14 2:30 p.m.
标题很有噱头,其实就是python的一个库的使用。之前记得有个网友问我说想学习python开发网站,但是不想用框架,我当时建议可以去学下cgi方面的东西。现在想来,我是错了,诚挚的给网友道歉!在python中有比cgi更高级的库来开发网站,那就是BaseHTTPServer。

在电脑和pad之间传文件的时候,我一般都会用python自带的SimpleHTTPServer(通过BaseHTTPServer实现的文件服务器)来完成:python -m SimpleHTTPServer 9999.简单却实用。

下面用这个库简单显示一个网站,只需要一个server.py文件:

#coding:utf-8
__author__ = 'the5fire'
from os import path

from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler

class Handler(BaseHTTPRequestHandler):

def do_GET(self):
self.send_response(200)
self.end_headers()
self.wfile.write(self.render('index'))
self.wfile.write('\n')
return

def render(self, name='index'):
file_name = '%s.html' % name
if path.isfile(file_name):
html = open(file_name, 'r').read()
return html
return None


if __name__ == '__main__':
server = HTTPServer(('localhost', 8181), Handler)
print 'Development server is running at http://127.0.0.1:8181/'
print 'Starting server, use to stop'
server.serve_forever()

页面是用的之前介绍bootstrap时写的那个《bootstrap入门》保存为server.py同目录中的index.html文件,python server.py运行:
python bootstrap
----EOF-----

扫码关注,或者搜索微信公众号:the5fire

其他分类: