前两天熟悉了scrapy的爬虫框架,也自己试着爬了果壳的推荐文章和小众软件(*小众软件可以说是我最喜欢的网站了,从刚开始折腾电脑的时候就莫名发现了这个网站,跟随它知道了很多软件,默默感叹一下*)我收藏了截止2015年1月28日小众的4000多篇文章,好高兴:

下面来总结今天的收获,主要就是体验了web.py这个轻框架

web.py is a web framework for Python that is as simple as it is powerful. web.py is in the public domain; you can use it for whatever purpose with absolutely no restrictions.

安装web.py:pip install web.py

这样吧,反正也没几人看写的这些个东西,直接贴上源码,打个注释,也算是安慰自己,记录一下自己的学习生活。

main.py

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
        #encoding:utf-8
        '''
        Created on 2015年1月29日
        
        @author: zynick
        '''
        import web
        from pip._vendor.requests.certs import where
        
        render = web.template.render('templates/')
        db = web.database(dbn='sqlite',db='f:\data.db')
        
        urls = (
            '/','index',
            '/add','add',
            '/del','delete'
        )
        app = web.application(urls,globals())
        
        class index:
            def GET(self,):
                todos = db.select('todo')
        
                return render.index(todos)
        class add:
            def POST(self):
                i = web.input()
                n = db.insert('todo',title = i.title)
                raise web.SeeOther('/')
        class delete:
            def POST(self):
                d = web.input()
                n = db.delete('todo',where="id="+d.id)
                raise web.SeeOther('/')
        if __name__ == '__main__':
        
            app.run()

templates目录是模版目录,里面创建了一个index.html

        $def with (todos)
        <ol>
        $for todo in todos:
        <li id="t$todo.id">$todo.title</li>
        </ol>
        <form method="post" action="add">
        <p><input type="text" name="title" /> <input type="submit" value="Add" /></p>
        </form>
        <form method="post" action="del">
        <p><input type="text" name="id" /> <input type="submit" value="Del" /></p>
        </form>

  web.py很有趣,虽然说是轻量级框架,但是它还集成了各种数据库的连接,编写插入查询删除的时候超级轻松,虽然研究使用方法让我浪费了好多时间。然后webpy把所有的url解析地址放在一个urls的list里面,然后每个地址对应的方法由一个同名的类负责处理,一眼看过去整个webapp架构一清二楚。还想起以前学javaEE的时候,那时候不懂得用Struts这些框架,写一个小网站查询写入数据库真的是让人头大,感觉在那个时候自己都差不多写出来了一个数据库操作的接口了,但是对于这种微型webapp来说,我还是不太喜欢用一个class表示一个地址的方法,加上web.py貌似已经停止开发了,我看到了flask,这也是一个小小小小的框架,看样子我是比较喜欢它了。

web.py一日游。