`
haohappy2
  • 浏览: 326067 次
  • 性别: 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


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

分享到:
评论

相关推荐

    Python库 | Pylons-0.8.2-py2.3.egg

    **Python库 Pylons-0.8.2-py2.3.egg** Pylons是一个基于Python的开源Web框架,旨在提供一个高效、灵活且可扩展的平台,用于开发高性能的Web应用。这个名为"Pylons-0.8.2-py2.3.egg"的文件是一个特定版本(0.8.2)的...

    [James_Gardner]_The_Definitive_Guide_to_Pylons(z-lib.org).rar

    In this book, cofounder and lead developer James Gardner brings you a comprehensive introduction to Pylons, the web framework that uses the best of Ruby, Python, and Perl and the emerging WSGI ...

    借着今天的大好日子,挖一个Pylons教程的坑

    标题中的“Pylons教程”指的是一个关于Python Web框架Pylons的学习资源,可能是系列文章或者教程。Pylons是一个轻量级、高性能的Web框架,它基于Python语言,设计目标是提供一种灵活且可扩展的环境来构建复杂的Web...

    Apress.the.Definitive.Guide.to.Pylons.Dec.2008

    ### Pylons框架详解:《Pylons权威指南》概览与核心知识点 #### 引言 《Pylons权威指南》(Apress.the.Definitive.Guide.to.Pylons.Dec.2008)是一本针对Python Web开发框架Pylons的专业指导书籍。本书由James ...

    Python Web框架Pylons中使用MongoDB的例子

    在Python Web开发中,Pylons是一个轻量级、高性能的框架,它以其高度可定制性而受到开发者喜爱。Pylons采用MVC(Model-View-Controller)设计模式,允许开发者灵活选择不同的库来实现各个层的功能。在本例子中,我们...

    Gardner -- The Definitive Guide to Pylons -- 2008.pdf

    根据提供的文件信息,我们可以推断出这是一本关于Pylons框架的技术书籍,作者是James Gardner,出版于2008年。以下是对该书的关键知识点进行的详细解读。 ### 关键知识点概述 #### 1. **Pylons 框架简介** - **...

    PyPI 官网下载 | Pylons-0.8.2-py2.3.egg

    资源来自pypi官网。 资源全名:Pylons-0.8.2-py2.3.egg

    Gardner -- The Definitive Guide to Pylons -- 2008 -- code.7z

    Gardner -- The Definitive Guide to Pylons -- 2008 -- code.7z

    pylons:Pylons框架,社区在Pylons项目的指导下得到了维护。 与repoze.bfg合并用于金字塔框架

    塔架 Pylons是一个快速的Web应用程序开发框架。 笔记定向塔已与repoze.bfg合并,并且现在处于仅维护模式。 强烈建议新项目从新的合并的Web框架。安装。 如果要从源代码安装,可以运行以下命令: $ python setup.py ...

    Pyramid英文文档.pdf

    Pyramid 是一款现代 Python Web 开发框架,作为 Pylons 框架的升级版本,它不仅继承了原有框架的优点,还进行了诸多改进与增强。根据提供的文件描述,我们可以提炼出以下几个关键知识点: 1. **Pyramid 的独特之处*...

    塔架pylons_VR游戏开发_天空盒子_Skybox_高清_16K_EXR

    可用于UnityVR开发,3D游戏开发,高清天空盒子Skybox素材,游戏环境背景素材,无水印。 让你身临其境的天空盒子,各类题材丰富,都是辛苦搜罗所得的高清exr格式,可以直接用于Unity开发,特别是VR游戏的开发。...

    Cable Supported Bridges: Concept and Design

    (3)the pylons (or towers) supporting the cable system; (4)the anchor blocks (or anchor piers) supporting the cable system vertically and horizontally, or only vertically, at the extreme ends.

    Mako-0.4.1.tar.gz

    pylons默认的模板就是用的它;相比而言,Django 内建的模板引擎,为了维持所谓模板语法的纯粹性和简单性,更纯粹的满足 MVC 模式的规定,牺牲了很多灵活性,一些高级的功能不得不利用 tag 和 filter 来实现,其写法...

    PHP日志系统plog(PHP).zip

    博主介绍说:“日志是一个应用程序的重要组成部分,今天在看pylons对日志的处理时,受到启发,于是plog就诞生了。很多php框架都忽略了日志的重要性(如kohana),往往只是能用,自定义和可扩展性不够,等到程序出了...

    sdidev:Substance D SDI 开发的扩建

    从 GitHub 中检出这个包(必须是 Substance D 团队 Pylons 组织的成员): $ git clone git@github.com:Pylons/sdidev.git cd 进入sdidev目录。 从下载 virtualenv 并将其安装到您的系统 Python (2.7+) 中。 安装...

Global site tag (gtag.js) - Google Analytics