Colorful Life2010

barry 于 2012-10-29 22:32:04 发表 | IP:125.90.59.*
运行models.py,提示完成,没错误,models.py最后一段我不知道怎么改,就没改它。双击app.bat,一样提示按任意键继续,要怎么搞才能运行网站,SQLite还要配置什么吗?SQLite不用安装,是python自带的吧。
柠檬园主 2012-10-30 02:46:19 回复:

不要双击app.bat了,你直接在dos窗口里运行code.py 8081这样,看看会不会出什么错误提示之类的,SQLite是python自带的

barry 于 2012-10-25 00:34:13 发表 | IP:121.10.91.*
端口由80改为8081,环境python2.7+web.py+jinja2+SQLAlchemy+Mysql-Python1.2.3+MySQL是可以运行另外个网站的,再装上SQLAlchemy
柠檬园主 2012-10-28 06:03:52 回复:

别客气,至少你的很多问题是问到点子上的,而不像有些人上来就“怎么跑不起来呀?”这么一句很笼统的话,让人捉摸不定干捉急啊。。。

我的那些代码直接下载的话,数据库由于是用的SQLITE的,是没有数据文件的,所以得运行一下models.py,建立db文件,并且最好修改models.py最后一段的代码以建立后台的用户信息等。

然后这个网站的本地运行,你就直接运行code.py 8081应该就可以了,即使出错,也会在弹出的窗口里有提示信息的。直接运行app.bat提示按任意键继续,可能是出错了,并且错有可能就是上面我说的DB的错。

barry 于 2012-10-25 00:34:13 发表 | IP:121.10.91.*
你好,非常感谢你每次的回答。有个问题要请教你:怎么在本地打开你的网站呀?我已经安装好环境python2.7+web.py+jinja2+SQLAlchemy,由于80端口另有网站占有,我改app.bat里的code.py 80为code 8081,双击运行它,提示pause  请按任意键继续...在IE里输入http://localhost:8081/不能打开网站,哪里还不对呢?
barry 于 2012-10-25 00:34:13 发表 | IP:125.90.59.*
谢谢你每次的回答。

web.header('Content-Type','text/html; charset=UTF-8'),
有什么作用呀?
官网只是三句的说明,我看不懂,
sys.setdefaultencoding("utf-8")
和render = render_jinja('templates',encoding = 'utf-8'),
不是已经确定是utf-8了吗?
柠檬园主 2012-10-26 03:48:29 回复:

1是设置服务器的输入header,好让浏览器识别,比如要输出图片的话,就得用web.header('Content-Type','image/png')

2和3分别是设置PYTHON读取相关数据 和 处理模板输入输出时的CODE的。

barry 于 2012-10-25 00:34:13 发表 | IP:125.90.59.*
@web.memoize是什么意思和作用?什么情况下使用呀?
柠檬园主 2012-10-25 23:38:57 回复:

是web.py自带的数据缓存装饰器,加在你的取数据的的函数(def)上面,这个函数取得的结果就会被缓存,在一定的时间内(我忘了是多少分钟了)如果此函数再被调用,就会从缓存里直接取数据结果而不会再执行一次那个函数。

对于经常被访问而又不太经常变化的数据,可以用这个方法。比如首页数据或是一些基本上不会变的分类数据这样。

barry 于 2012-10-17 16:47:31 发表 | IP:125.90.59.*
SQLite是不是像Access一样放在任何个文体夹都是可以读写,不必像MsSQL一样一定要导入到MsSQL才能读写吧?
柠檬园主 2012-10-18 02:19:47 回复:

BINGO

barry 于 2012-10-17 16:37:17 发表 | IP:125.90.59.*
python连接MySQL一定要用MySQL-python吗?SQLAlchemy也一定要用吗?
柠檬园主 2012-10-17 21:58:21 回复:

这个不一定,因为SQLAlchemy是ORM,不用的话,就得在代码里直接写DB的操作了,用WEB.PY自带的也可以。

barry 于 2012-10-14 18:02:00 发表 | IP:121.10.87.*
很感谢版主的解答,现在有个请求:如果能把这网站的源码改为用MySQL数据库并开源供我们下载,就完美的了------因为我现在学习web.py+jinja2+MySQL,
柠檬园主 2012-10-17 21:34:28 回复:

这很简单啊,把conf.py里的改一下

 

dbn             = 'sqlite'
dbfile          = 'db/n3c.db3'
db              = web.database(dbn=dbn ,db=dbfile)
改成
dbn             = 'mysql'
dbfile          = 'localhost/dbname1'
dbuser       = 'dbuser1'
dbpw          = 'dbpassword'
db              = web.database(dbn=dbn ,db=dbfile ,user=dbuser, pw=dbpw)
 
然后改一下models.py里的
engine = create_engine(conf.dbn+':///'+conf.newdbfile, echo=False)
改成
engine = create_engine(conf.dbn+':///'+conf.dbuser+':'+conf.dbpw+'@'+conf.dbfile, echo=False)
 

 

barry 于 2012-10-14 18:02:00 发表 | IP:125.90.59.*
感谢,版主的回复,楼主的空间在哪里买的呀,我也想买一个。
柠檬园主 2012-10-15 03:38:07 回复:

买的美国主机xehost的vhost,自己架服务自己设置,算下来一年得1K左右,30G空间一个月好像是300G流量,这数字对我来说都是浪费,但我也只求个稳定了。