.. include:: ../LINKS.rst 人性化 ============================ “添加后连个自动转向都没有!什么破东西!” 模板系统 ----------------------------- 在bottle自带的模板中,小白尝试了一下传进去一个
换行符等HTML标签 结果都变成纯文本传出来了……没有得到换行符的结果。怎么能够让模板传入HTML代码,使模板功能更将大呢? 小白在网上搜索了一下“python 模板”,搜出一大堆结果。小白发现Python有以下许多模板: - `Mako`_ - `Jinja2`_ - `Cheetah`_ - 等等.... 小白继续看,发现小而强大的模板系统就是—— `Mako`_ 。“嗯!试试mako吧。先下把mako安装了再说。” 安装:: sudo easy_install mako 改进模板 ------------------------------- 白板型的模板连小白自己都看不下去了,用CSS! Leo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :: 夫 `Leo`_ 者,文学编程 之环境也! 在工具篇里有具体介绍, 也是听从 `行者`_ 建议,上了瘾的奇妙工具... 用clone节点来记录css,方便了许多,减少重复。 .. image:: ../_static/snap/malaweb_leo.png .. seealso:: (^.^) - 但是,这里,小白是什么动机开始使用 Leo 了呢,又怎么学会的呢? - 和其它编辑环境相比有什么好处和不足? 在 M$ 环境中有什么问题? CSS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 夫CSS者,样式表也! 有兴趣的小白可以到网上搜搜,可以搜出一大堆教程 :: 再连同title等标签和导航栏写成一个head节点,clone到每一个页面:: # -*- coding: utf-8 -*- mala通讯录

通讯录程序



添加 | 搜索 然后一个个写页面 `add.tpl` 添加页面模板 .. literalinclude:: ../../src/5_webmala/web3/views/add.tpl `view.tpl` 搜索页面模板 .. literalinclude:: ../../src/5_webmala/web3/views/view.tpl Done! .. image:: ../_static/snap/newadd.png view页面 .. image:: ../_static/snap/newview.png 自动跳转 -------------------------------- bottle框架中的自动定向跳转语句:: bottle.redirect('/view') 添加到POST的add函数中 搜索 ----------------------------------- but,搜索功能还没有完成呢,不过,这对小白来说也不是什么难事,修改view函数:: @bottle.route('/view') def view(): printlist=['firstname', 'lastname', 'phone', 'email', 'address'] has_keywd='keytext' in bottle.request.GET if has_keywd: keywd=bottle.request.GET['keytext'] else: keywd="" string="" if not has_keywd: for i in db.keys(): for j in printlist: string+=j+": "+db[i][j]+r'
' string+=r"
" else: list_=[] for i in db.keys(): for j in printlist: if keywd in db[i][j]: print keywd list_.append(i) for i in list_: for j in printlist: string+=j+": "+db[i][j]+r'
' tmpl = Template(filename='./views/view.tpl', output_encoding='utf-8') return tmpl.render(html=string) 只是单纯的用字典的操作方法来操作而已……虽然代码长了一些,但是也能用了! 结局 ---------------------------------- 嗯嗯嗯,不错不错,终于能够使用了……