`
haohappy2
  • 浏览: 315279 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Study Pylons Two

阅读更多

1. paster create --template=pylons minispider
2. MySQL,建立数据库minispider

CREATE   TABLE  minispider.titleinfo
( id 
INTEGER  UNSIGNED  NOT   NULL  AUTO_INCREMENT,
  link 
VARCHAR ( 255 NOT   NULL   DEFAULT   '' ,
  description 
VARCHAR ( 255 NOT   NULL   DEFAULT   '' ,
  sitename 
VARCHAR ( 255 NOT   NULL   DEFAULT   '' ,
  updatetime 
TIMESTAMP   NOT   NULL   DEFAULT   0 ,
  
PRIMARY   KEY (id)
)


3. The Model
1) 修改development.ini,代码如下:

 1 #
 2 #  minispider - Pylons development environment configuration
 3 #
 4 #  The %(here)s variable will be replaced with the parent directory of this file
 5 #
 6 [DEFAULT]
 7 debug  =  true
 8 email_to  =  you@yourdomain.com
 9 smtp_server  =  localhost
10 error_email_from  =  paste@localhost
11
12 [server:main]
13 use  =  egg:Paste # http
14 host  =   0.0 . 0.0
15 port  =   5000
16
17 [app:main]
18 use  =  egg:minispider
19 cache_dir  =   % (here)s / data
20 session_key  =  minispider
21 session_secret  =  somesecret
22
23 #  If you'd like to fine-tune the individual locations of the cache data dirs
24 #  for Myghty, the Cache data, or the Session saves, un-comment the desired
25 #  settings here:
26 # myghty_data_dir = %(here)s/data/templates
27 # cache_data_dir = %(here)s/data/cache
28 # session_data_dir = %(here)s/data/sessions
29
30 #  Specify the database for SQLObject to use via pylons.database.PackageHub.
31 #  %(here) may include a ':' character on Windows environments; this can
32 #  invalidate the URI when specifying a SQLite db via path name. Refer to the
33 #  SQLObject documentation for a special syntax to preserve the URI.
34 # sqlobject.dburi = sqlite:%(here)s/somedb.db
35 sqlobject.dburi  =  mysql: // root: 123456 @localhost: 3306 / minispider
36
37 #  WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
38 #  Debug mode will enable the interactive debugging tool, allowing ANYONE to
39 #  execute malicious code after an exception is raised.
40 # set debug = false

第35行为添加的部分。
2)在models目录下,建立msmodel.py,代码如下:

from  sqlobject  import   *
from  pylons.database  import  PackageHub
hub 
=  PackageHub( " minispider " )
__connection__   =  hub

class  titleinfo(SQLObject):
    link 
=  StringCol(length = 255 )
    description 
=  StringCol(length = 255 )
    sitename 
=  StringCol(length = 255 )
    updatetime 
=  DateTimeCol()

修改__init__.py,代码如下:

# # NOTE
#
#   If you plan on using SQLObject, the following should be un-commented and provides
#
#   a starting point for setting up your schema

# from sqlobject import *
#
from pylons.database import PackageHub
#
hub = PackageHub("minispider")
#
__connection__ = hub

#  You should then import your SQLObject classes
#
 from myclass import MyDataClass
from  msmodel  import  titleinfo


4.The view
在templates文件夹下建立ms文件夹,在ms文件中建立list.myt,代码如下:

< html >
< head >
< title > Generated by Mini Spider v0. 1 </ title >
</ head >
< body >
< table width = " 80% "   border = " 0 " >
  
< tr >
    
< td width = " 60% " >< strong > What </ strong ></ td >
    
< td width = " 20% " >< strong > Where </ strong ></ td >
    
< td width = " 20% " >< strong > When </ strong ></ td >
  
</ tr >
%   for  ti  in  c.titleinfo:
  
< tr >
    
< td >< a href = " <% ti.link %> "  target = " _blank " ><%  ti.description  %></ a ></ td >
    
< td ><%  ti.sitename  %></ td >
    
< td ><%  ti.updatetime  %></ td >
  
</ tr >
%   # endfor
</ table >
</ body >
</ html >

务必注意代码的缩进!浪费了偶半个多小时!

5.The controller
命令行运行:
cd minispider
paster controller ms
将controllers文件夹下ms.py修改,代码如下:

from  minispider.lib.base  import   *

class  MsController(BaseController):
        
  template_prefix 
=   ' /ms '
        
  
def  index(self):
    redirect_to(action
= ' list ' )
        
  
def  list(self):
    c.titleinfo 
=  list(model.titleinfo.select())
    
return  render_response(self.template_prefix  +   ' /list.myt ' )


6. run
命令行运行:
paster serve --reload development.ini
ok,访问:http://127.0.0.1:5000/ms
结果类似:

What Where When
Baidu Baidu 2006-12-05 22:18:12
Google Google 2006-12-05 22:18:42


初试,功能之强大,操作之简便,初见端倪。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics