Bottle micro web services framework 10 : json to html table
bogotobogo.com site search:
List of Bottle Micro Web Services Tutorials
- Introduction
- Static files
- Template
- json
- Bucket List App I - sqlite, route, and template
- Bucket List App II - get & post
- Bucket List App III - Editing
- Bucket List App IV - route validation, regex, and static_file
- Bucket List App V - json
- json to html table
- Forms - Get & Post
- Forms - Get & Post with editable and checkbox table cells
templates
Sample 1
In this chapter, we'll continue to do more work on Bottle's template:
disp.py:
from bottle import route, run, template HOST = '192.168.47.101' @route('/page1') def serve_homepage(): l1 = "my list A - l1" l2 = "my list A - l2" l3 = "my list A - l3" list = [l1,l2,l3] return template('disp_table', rows=list) run(host=HOST, port=8080, debug=True)
disp_table.tpl:
%# disp_table.tpl <p>The items are as follows:</p> <table border="1"> %for r in rows: <tr> %for c in r: <td>{{c}}</td> %end </tr> %end </table>
Sample 2
With a new disp.py while keeping the same disp_table.tpl:
from bottle import route, run, template HOST = '192.168.47.101' test = { 'protocol': ['p1','p2','p3'], 'service':['s1','s2','s3'], 'plugin': ['p1','p2','p3'], 'result':[1,0,1] } @route('/page1') def serve_homepage(): return template('disp_table', rows=test) run(host=HOST, port=8080, debug=True)
Sample 3
disp.py:
from bottle import route, run, template HOST = '192.168.47.101' test = { 'protocol': ['p1','p2','p3'], 'service':['s1','s2','s3'], 'plugin': ['p1','p2','p3'], 'result':[1,0,1] } @route('/page1') def serve_homepage(): return template('disp_table', rows=test) run(host=HOST, port=8080, debug=True)
disp_table.tpl:
%# disp_table.tpl <p>The items are as follows:</p> <table border="1"> %for r in rows: <tr> <td>{{r}}</td> </tr> %end </table>
Sample 4
No template, just returning dictionary, and Bottle will convert it to json:
disp.py:
from bottle import route, run, template HOST = '192.168.47.101' test = { 'protocol': ['p1','p2','p3'], 'service':['s1','s2','s3'], 'plugin': ['p1','p2','p3'], 'result':[1,0,1] } @route('/page1') def serve_homepage(): return test run(host=HOST, port=8080, debug=True)
Sample 5 - json to html
disp.py:
from bottle import route, run, template HOST = '192.168.47.101' test = { 'protocol': ['protocol1','protocol2','protocol3'], 'service':['s1','s2','s3'], 'plugin': ['plug1','plug2','plug3'], 'result':[1,0,1] } test_cases = len(test['result']) @route('/page1') def serve_homepage(): return template('disp_table',rows = test, cases = test_cases) run(host=HOST, port=8080, debug=True)
%# disp_table.tpl <p>The items are as follows:</p> <table border="1"> <tr> %for r in rows: <th>{{r}}</th> %end </tr> %for i in range(cases): <tr> %for r in rows: <td>{{rows[r][i]}}</td> %end </tr> %end </table>
Now run the server:
$ python disp.py Bottle v0.12.7 server starting up (using WSGIRefServer())... Listening on http://192.168.47.101:8080/ Hit Ctrl-C to quit.
Ph.D. / Golden Gate Ave, San Francisco / Seoul National Univ / Carnegie Mellon / UC Berkeley / DevOps / Deep Learning / Visualization