﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-『一只小蚂蚁』的专栏-随笔分类-Pylons学习</title><link>http://www.blogjava.net/qixiangnj/category/17829.html</link><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;盛年不再来，一日难再晨。&lt;BR&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;及时当勉励，岁月不待人。&lt;/FONT&gt;&lt;/STRONG&gt;</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 11:36:51 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 11:36:51 GMT</pubDate><ttl>60</ttl><item><title>Pylons实战（一）</title><link>http://www.blogjava.net/qixiangnj/archive/2006/12/05/85722.html</link><dc:creator>ant</dc:creator><author>ant</author><pubDate>Tue, 05 Dec 2006 15:59:00 GMT</pubDate><guid>http://www.blogjava.net/qixiangnj/archive/2006/12/05/85722.html</guid><wfw:comment>http://www.blogjava.net/qixiangnj/comments/85722.html</wfw:comment><comments>http://www.blogjava.net/qixiangnj/archive/2006/12/05/85722.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qixiangnj/comments/commentRss/85722.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qixiangnj/services/trackbacks/85722.html</trackback:ping><description><![CDATA[
		<p>时候不早了，废话也不多说了。开始吧！<br />1. paster create --template=pylons minispider<br />2. MySQL，建立数据库minispider</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">CREATE</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">TABLE</span>
				<span style="COLOR: #000000"> minispider.titleinfo<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />( id </span>
				<span style="FONT-WEIGHT: bold; COLOR: #000000">INTEGER</span>
				<span style="COLOR: #000000"> UNSIGNED </span>
				<span style="COLOR: #808080">NOT</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">NULL</span>
				<span style="COLOR: #000000"> AUTO_INCREMENT,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  link </span>
				<span style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR</span>
				<span style="COLOR: #000000">(</span>
				<span style="FONT-WEIGHT: bold; COLOR: #800000">255</span>
				<span style="COLOR: #000000">) </span>
				<span style="COLOR: #808080">NOT</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">NULL</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">DEFAULT</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #ff0000">''</span>
				<span style="COLOR: #000000">,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  description </span>
				<span style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR</span>
				<span style="COLOR: #000000">(</span>
				<span style="FONT-WEIGHT: bold; COLOR: #800000">255</span>
				<span style="COLOR: #000000">) </span>
				<span style="COLOR: #808080">NOT</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">NULL</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">DEFAULT</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #ff0000">''</span>
				<span style="COLOR: #000000">,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  sitename </span>
				<span style="FONT-WEIGHT: bold; COLOR: #000000">VARCHAR</span>
				<span style="COLOR: #000000">(</span>
				<span style="FONT-WEIGHT: bold; COLOR: #800000">255</span>
				<span style="COLOR: #000000">) </span>
				<span style="COLOR: #808080">NOT</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">NULL</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">DEFAULT</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #ff0000">''</span>
				<span style="COLOR: #000000">,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  updatetime </span>
				<span style="FONT-WEIGHT: bold; COLOR: #000000">TIMESTAMP</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #808080">NOT</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">NULL</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">DEFAULT</span>
				<span style="COLOR: #000000"> </span>
				<span style="FONT-WEIGHT: bold; COLOR: #800000">0</span>
				<span style="COLOR: #000000">,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span>
				<span style="COLOR: #0000ff">PRIMARY</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">KEY</span>
				<span style="COLOR: #000000">(id)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />)</span>
		</div>
		<br />3. The Model<br />1) 修改development.ini，代码如下：<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080"> 1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #008000">#<br /></span><span style="COLOR: #008080"> 2</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000"> minispider - Pylons development environment configuration</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 3</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#<br /></span><span style="COLOR: #008080"> 4</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000"> The %(here)s variable will be replaced with the parent directory of this file</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080"> 5</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#<br /></span><span style="COLOR: #008080"> 6</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">[DEFAULT]<br /></span><span style="COLOR: #008080"> 7</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />debug </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> true<br /></span><span style="COLOR: #008080"> 8</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />email_to </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> you@yourdomain.com<br /></span><span style="COLOR: #008080"> 9</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />smtp_server </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> localhost<br /></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />error_email_from </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> paste@localhost<br /></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />[server:main]<br /></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />use </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> egg:Paste</span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">http</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">14</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">host </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0.0</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">0.0</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />port </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">5000</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />[app:main]<br /></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />use </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> egg:minispider<br /></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />cache_dir </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">(here)s</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">data<br /></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />session_key </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> minispider<br /></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />session_secret </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> somesecret<br /></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> If you'd like to fine-tune the individual locations of the cache data dirs</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">24</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000"> for Myghty, the Cache data, or the Session saves, un-comment the desired</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">25</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000"> settings here:</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">26</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000">myghty_data_dir = %(here)s/data/templates</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">27</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000">cache_data_dir = %(here)s/data/cache</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">28</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000">session_data_dir = %(here)s/data/sessions</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">29</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> Specify the database for SQLObject to use via pylons.database.PackageHub.</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">31</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000"> %(here) may include a ':' character on Windows environments; this can</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">32</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000"> invalidate the URI when specifying a SQLite db via path name. Refer to the</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">33</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000"> SQLObject documentation for a special syntax to preserve the URI.</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">34</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000">sqlobject.dburi = sqlite:%(here)s/somedb.db</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">35</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">sqlobject.dburi </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> mysql:</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">root:</span><span style="COLOR: #000000">123456</span><span style="COLOR: #000000">@localhost:</span><span style="COLOR: #000000">3306</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">minispider<br /></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">38</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000"> Debug mode will enable the interactive debugging tool, allowing ANYONE to</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">39</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000"> execute malicious code after an exception is raised.</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #008080">40</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000">set debug = false</span></div>第35行为添加的部分。<br />2）在models目录下，建立msmodel.py，代码如下：<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">from</span><span style="COLOR: #000000"> sqlobject </span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">from</span><span style="COLOR: #000000"> pylons.database </span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> PackageHub<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />hub </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> PackageHub(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">minispider</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #800080">__connection__</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> hub<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> titleinfo(SQLObject):<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    link </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> StringCol(length</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">255</span><span style="COLOR: #000000">)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    description </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> StringCol(length</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">255</span><span style="COLOR: #000000">)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    sitename </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> StringCol(length</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">255</span><span style="COLOR: #000000">)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    updatetime </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> DateTimeCol()</span></div>修改__init__.py，代码如下：<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #008000">#</span><span style="COLOR: #008000"># NOTE</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000">#   If you plan on using SQLObject, the following should be un-commented and provides</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000">#   a starting point for setting up your schema</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">from sqlobject import *</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000">from pylons.database import PackageHub</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000">hub = PackageHub("minispider")</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000">__connection__ = hub</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> You should then import your SQLObject classes</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#</span><span style="COLOR: #008000"> from myclass import MyDataClass</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">from</span><span style="COLOR: #000000"> msmodel </span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> titleinfo</span></div><br />4.The view<br />在templates文件夹下建立ms文件夹，在ms文件中建立list.myt，代码如下：<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">html</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">head</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">title</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">Generated by Mini Spider v0.</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">title</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">head</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">body</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">table width</span><span style="COLOR: #000000">=</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">80%</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">  border</span><span style="COLOR: #000000">=</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">0</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">tr</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">td width</span><span style="COLOR: #000000">=</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">60%</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">&gt;&lt;</span><span style="COLOR: #000000">strong</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">What</span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">strong</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">td</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">td width</span><span style="COLOR: #000000">=</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">20%</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">&gt;&lt;</span><span style="COLOR: #000000">strong</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">Where</span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">strong</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">td</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">td width</span><span style="COLOR: #000000">=</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">20%</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">&gt;&lt;</span><span style="COLOR: #000000">strong</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">When</span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">strong</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">td</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">tr</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> ti </span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000"> c.titleinfo:<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">tr</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">td</span><span style="COLOR: #000000">&gt;&lt;</span><span style="COLOR: #000000">a href</span><span style="COLOR: #000000">=</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">&lt;% ti.link %&gt;</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000"> target</span><span style="COLOR: #000000">=</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">_blank</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">&gt;&lt;%</span><span style="COLOR: #000000"> ti.description </span><span style="COLOR: #000000">%&gt;&lt;/</span><span style="COLOR: #000000">a</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">td</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">td</span><span style="COLOR: #000000">&gt;&lt;%</span><span style="COLOR: #000000"> ti.sitename </span><span style="COLOR: #000000">%&gt;&lt;/</span><span style="COLOR: #000000">td</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">td</span><span style="COLOR: #000000">&gt;&lt;%</span><span style="COLOR: #000000"> ti.updatetime </span><span style="COLOR: #000000">%&gt;&lt;/</span><span style="COLOR: #000000">td</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">tr</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">%</span><span style="COLOR: #000000"> </span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">endfor</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">table</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">body</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">html</span><span style="COLOR: #000000">&gt;</span></div>务必注意代码的缩进！浪费了偶半个多小时！<br /><br />5.The controller<br />命令行运行：<br />cd minispider<br />paster controller ms<br />将controllers文件夹下ms.py修改，代码如下：<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">from</span><span style="COLOR: #000000"> minispider.lib.base </span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> MsController(BaseController):<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  template_prefix </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">/ms</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #0000ff">def</span><span style="COLOR: #000000"> index(self):<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    redirect_to(action</span><span style="COLOR: #000000">=</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">list</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #0000ff">def</span><span style="COLOR: #000000"> list(self):<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    c.titleinfo </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> list(model.titleinfo.select())<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> render_response(self.template_prefix </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">/list.myt</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">)</span></div><br />6. run<br />命令行运行：<br />paster serve --reload development.ini<br />ok，访问：<a href="http://127.0.0.1:5000/ms">http://127.0.0.1:5000/ms</a><br />结果类似：<br /><table width="80%" border="0"><tbody><tr><td width="60%"><strong>What</strong></td><td width="20%"><strong>Where</strong></td><td width="20%"><strong>When</strong></td></tr><tr><td><a href="http://www.baidu.com/" target="_blank">Baidu</a></td><td>Baidu</td><td>2006-12-05 22:18:12</td></tr><tr><td><a href="http://www.google.com/" target="_blank">Google</a></td><td>Google</td><td>2006-12-05 22:18:42</td></tr></tbody></table><br />初试，功能之强大，操作之简便，初见端倪。<img src ="http://www.blogjava.net/qixiangnj/aggbug/85722.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qixiangnj/" target="_blank">ant</a> 2006-12-05 23:59 <a href="http://www.blogjava.net/qixiangnj/archive/2006/12/05/85722.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Pylons0.9.3的一个bug</title><link>http://www.blogjava.net/qixiangnj/archive/2006/12/05/85468.html</link><dc:creator>ant</dc:creator><author>ant</author><pubDate>Mon, 04 Dec 2006 16:09:00 GMT</pubDate><guid>http://www.blogjava.net/qixiangnj/archive/2006/12/05/85468.html</guid><wfw:comment>http://www.blogjava.net/qixiangnj/comments/85468.html</wfw:comment><comments>http://www.blogjava.net/qixiangnj/archive/2006/12/05/85468.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qixiangnj/comments/commentRss/85468.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qixiangnj/services/trackbacks/85468.html</trackback:ping><description><![CDATA[按照<a class="wiki" href="http://pylonshq.com/project/pylonshq/wiki/Tutorial">HowTo write a basic Blog</a>，step by step，最后运行，却报类似下面的错误：<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id="Code_Closed_Image_000559" onclick="this.style.display='none'; Code_Closed_Text_000559.style.display='none'; Code_Open_Image_000559.style.display='inline'; Code_Open_Text_000559.style.display='inline';" height="16" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_000559" style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_000559.style.display='none'; Code_Closed_Image_000559.style.display='inline'; Code_Closed_Text_000559.style.display='inline';" height="16" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_000559" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">错误信息</span><span id="Code_Open_Text_000559" style="DISPLAY: none"><br /><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">File<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />'D:\development\python\projects\blogtutorial\blogtutorial\controllers\blog.py'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />line </span><span style="COLOR: #000000">12</span><span style="COLOR: #000000"> in list<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />c.blogPosts </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> list(model.BlogPosts.select())<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />File<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />'D:\development\python\</span><span style="COLOR: #000000">2.4.4</span><span style="COLOR: #000000">\lib\site-packages\sqlobject-</span><span style="COLOR: #000000">0.7.1</span><span style="COLOR: #000000">-py2</span><span style="COLOR: #000000">.4</span><span style="COLOR: #000000">.egg\sqlobject\sresults.py'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />line </span><span style="COLOR: #000000">155</span><span style="COLOR: #000000"> in __iter__<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />return iter(list(self.lazyIter()))<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />File<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />'D:\development\python\</span><span style="COLOR: #000000">2.4.4</span><span style="COLOR: #000000">\lib\site-packages\sqlobject-</span><span style="COLOR: #000000">0.7.1</span><span style="COLOR: #000000">-py2</span><span style="COLOR: #000000">.4</span><span style="COLOR: #000000">.egg\sqlobject\sresults.py'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />line </span><span style="COLOR: #000000">162</span><span style="COLOR: #000000"> in lazyIter<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />conn </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> self._getConnection()<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />File<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />'D:\development\python\</span><span style="COLOR: #000000">2.4.4</span><span style="COLOR: #000000">\lib\site-packages\sqlobject-</span><span style="COLOR: #000000">0.7.1</span><span style="COLOR: #000000">-py2</span><span style="COLOR: #000000">.4</span><span style="COLOR: #000000">.egg\sqlobject\sresults.py'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />line </span><span style="COLOR: #000000">38</span><span style="COLOR: #000000"> in _getConnection<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />return self.ops.get('connection') or self.sourceClass._connection<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />File<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />'d:\development\python\</span><span style="COLOR: #000000">2.4.4</span><span style="COLOR: #000000">\lib\site-packages\Pylons-</span><span style="COLOR: #000000">0.9.3</span><span style="COLOR: #000000">-py2</span><span style="COLOR: #000000">.4</span><span style="COLOR: #000000">.egg\pylons\database.py'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />line </span><span style="COLOR: #000000">104</span><span style="COLOR: #000000"> in __get__<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />return self.hub.__get__(obj</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> type)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />File<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />'D:\development\python\</span><span style="COLOR: #000000">2.4.4</span><span style="COLOR: #000000">\lib\site-packages\sqlobject-</span><span style="COLOR: #000000">0.7.1</span><span style="COLOR: #000000">-py2</span><span style="COLOR: #000000">.4</span><span style="COLOR: #000000">.egg\sqlobject\dbconnection.py'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />line </span><span style="COLOR: #000000">888</span><span style="COLOR: #000000"> in __get__<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />return self.getConnection()<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />File<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />'D:\development\python\</span><span style="COLOR: #000000">2.4.4</span><span style="COLOR: #000000">\lib\site-packages\sqlobject-</span><span style="COLOR: #000000">0.7.1</span><span style="COLOR: #000000">-py2</span><span style="COLOR: #000000">.4</span><span style="COLOR: #000000">.egg\sqlobject\dbconnection.py'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />line </span><span style="COLOR: #000000">900</span><span style="COLOR: #000000"> in getConnection<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />raise AttributeError(<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />AttributeError: No connection has been defined for this thread or<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />process</span></span></div>苦苦搜索了一番，终于找到以下答案：<br /><h2 class="summary">sqlobject support not working</h2><table class="properties"><tbody><tr><th id="h_reporter">Reported by:</th><td headers="h_reporter">climbus</td><th id="h_owner">Assigned to:</th><td headers="h_owner">benbangert</td></tr><tr><th id="h_priority">Priority:</th><td headers="h_priority">highest</td><th id="h_milestone">Milestone:</th><td headers="h_milestone">0.9.4</td></tr><tr><th id="h_component">Component:</th><td headers="h_component">middleware</td><th id="h_version">Version:</th><td headers="h_version">0.9.3</td></tr><tr><th id="h_severity">Severity:</th><td headers="h_severity">blocker</td><th id="h_keywords">Keywords:</th><td headers="h_keywords"></td></tr><tr><th id="h_cc">Cc:</th><td headers="h_cc"></td><th></th><td></td></tr></tbody></table><form class="printableform" action="/project/pylonshq/ticket/133#comment" method="get"><div class="description"><h3 id="comment:description"><span class="inlinebuttons"><input type="hidden" value="description" name="replyto" /><input title="Reply, quoting this description" type="submit" value="Reply" /></span>Description <a class="anchor" title="Permalink to comment:description" href="http://pylonshq.com/project/pylonshq/ticket/133#comment:description">¶</a></h3><p><strong><font color="#ff6600">In database.py-&gt;AutoConnectHub-&gt;get_connection() must be getConnection() because in slobject-&gt;ConnectionHub-&gt;getConnection() <br /></font></strong></p></div></form><img src ="http://www.blogjava.net/qixiangnj/aggbug/85468.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qixiangnj/" target="_blank">ant</a> 2006-12-05 00:09 <a href="http://www.blogjava.net/qixiangnj/archive/2006/12/05/85468.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Pylons初探</title><link>http://www.blogjava.net/qixiangnj/archive/2006/11/29/84176.html</link><dc:creator>ant</dc:creator><author>ant</author><pubDate>Wed, 29 Nov 2006 00:31:00 GMT</pubDate><guid>http://www.blogjava.net/qixiangnj/archive/2006/11/29/84176.html</guid><wfw:comment>http://www.blogjava.net/qixiangnj/comments/84176.html</wfw:comment><comments>http://www.blogjava.net/qixiangnj/archive/2006/11/29/84176.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qixiangnj/comments/commentRss/84176.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qixiangnj/services/trackbacks/84176.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 安装：1. 下载安装工具ez_setup.py2. 命令行运行：python ez_setup.py Pylons    耐心等待，安装结束。3. 设置环境变量    系统变量-&gt;path-&gt;;C:\Python24\Scripts4. 命令行运行：paster    产生下面类似结果，则说明安装成功。运行结果Code highlighting produced by Actipro ...&nbsp;&nbsp;<a href='http://www.blogjava.net/qixiangnj/archive/2006/11/29/84176.html'>阅读全文</a><img src ="http://www.blogjava.net/qixiangnj/aggbug/84176.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qixiangnj/" target="_blank">ant</a> 2006-11-29 08:31 <a href="http://www.blogjava.net/qixiangnj/archive/2006/11/29/84176.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>