s
s
http://bottlepy.org/docs/dev/
http://tocode.sinaapp.com/18
Install the latest stable release via PyPi (easy_install -U bottle)
设置Aptana Studio 3,不然找不到代码提示
Window -> Preferences -> Pydev -> Interpreter - Python
D:\Python27\Lib\site-packages\bottle-0.11.6-py2.7.egg
然后重启Aptana
# coding=utf-8 from bottle import route, run, template, static_file, abort, error, redirect, post, get, request @route('/') @route('/index.html') def index(): return '<a href="/hello/world">Go to Hello World page</a>' @route('/hello') @route('/hello/:name') def hello(name='World'): return template('<b>Hello {{name}}</b>!', name=name) @route('/static/:filename') def serve_static(filename): return static_file(filename, root='./static') @route('/raise_error') def raise_error(): abort(404, "error...") @error(404) def error404(error): return '404 error !!!!!' @route('/redirect') def redirect_to_hello(): redirect('/hello') @route('/ajax') def ajax_response(): return {'dictionary': 'you will see ajax response right? Content-Type will be "application/json"'} @get('/upload') def upload_view(): return """ <form action="/upload" method="post" enctype="multipart/form-data"> <input type="text" name="name" /> <input type="file" name="data" /> <input type="submit" name="submit" value="upload now" /> </form> """ @post('/upload') def do_upload(): name = request.forms.get('name') data = request.files.get('data') if name is not None and data is not None: filename = data.filename print filename fullPath = u'./upfiles/'+filename #中文文件名显示正常 # outfile = file('./upfiles/'+filename, 'wb') #中文文件名会是乱码 outfile = file(fullPath, 'wb') try: buf = data.file.read(data.bufsize) currentSize = len(buf) print currentSize#测试window上buffer大小为8192字节,即8k while buf: outfile.write(buf) buf = data.file.read(data.bufsize) currentSize += len(buf) outfile.close() return "Hello %s! You uploaded %s (%d bytes)." % (name, filename, currentSize) except Exception, e: print e.message return 'Failed in uploading %s !' % filename return "You missed a field." @route('/tpl') def tpl(): return template('test') run(host='localhost', port=8080)
s
s
s