Chinaunix

标题: [笔记]Google App Engine上试用web.py [打印本页]

作者: smallfish_xy    时间: 2009-06-22 11:43
标题: [笔记]Google App Engine上试用web.py
原文地址:http://hi.baidu.com/smallfish_xy/blog/item/f5c444fbcef1ebd7b58f3119.html

看到有人在坛子里询问在GAE如何发布web.py有关问题,就尝试了一把。具体安装和使用过程如下,请对照自己本地路径相应修改:

1. 复制本地对应web.py目录到GAE对应应用目录

        比如:D:\Python25\Lib\site-packages\web 到 e:\googleapp\pynotes

2. 写测试代码

# app.yaml

application: pynotes
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
        script: home.py


# home.py

import web

render = web.template.render('templates/')

urls = (
        '/', 'index'
)

class index:
        def GET(self):
            web.header('Content-type', 'text/html')
            name = 'smallfish'
            return render.index(name)

app = web.application(urls, globals())
main = app.cgirun() # 这行是发布到GAE的关键


# templates/index.html

$def with (name)
<b>hello, $name. test by web.py</b>


3. 发布到GAE,测试

e:\googleapp>appcfg.py update pynotes/

到这里,一个简单web.py应用就完成了,然后刷新。GAE显示500 Error!看后台GAE Log显示错误信息:”No module named templates“,去web.py官方溜达了一圈,发现在其cookbook里有一篇文档《How to use templates on Google App Engine》,里面说的很明白啦。因为web.py的模板在GAE上文件系统会有所限制,所有本地得compile一下,具体命令是:
python web/template.py --compile templates 最后一个参数是本地对应模板目录templates,如果有多个模板目录则一次运行一次。运行完会在templates会生成一个__init__.py,里面内容有兴趣可以看看,很眼熟的哦。

4. 再次发布到GAE,可以看到OK拉!



[ 本帖最后由 smallfish_xy 于 2009-8-5 16:11 编辑 ]
作者: jihaiming    时间: 2009-06-22 11:57
支持一下
作者: hundredbugs    时间: 2009-06-22 12:44
标题: 回复 #1 smallfish_xy 的帖子
支持一下
做个记录好,方便别人查找。
作者: ej5800    时间: 2009-06-22 17:06
顶楼主
作者: ej5800    时间: 2009-06-22 17:14
12312321321312
作者: ej5800    时间: 2009-06-22 17:17
测试下python区回复是否有时间限制 是否有重复限制
作者: ej5800    时间: 2009-06-22 17:17
测试下python区回复是否有时间限制 是否有重复限制
作者: ej5800    时间: 2009-06-22 17:20
测试下python区回复是否有时间限制 是否有重复限制
作者: thsniperwolf    时间: 2009-06-23 15:28
标题: 回复 #1 smallfish_xy 的帖子
学习了。
PS:楼上很有干劲啊。。。
作者: thsniperwolf    时间: 2009-06-23 17:35
标题: 回复 #1 smallfish_xy 的帖子
为什么我在本地编译过了再update后还是出现500错误呢?
还有个问题是请问怎么查看后台log呢?
作者: smallfish_xy    时间: 2009-06-23 17:42
原帖由 thsniperwolf 于 2009-6-23 17:35 发表
为什么我在本地编译过了再update后还是出现500错误呢?
还有个问题是请问怎么查看后台log呢?

到这个 http://appengine.google.com/ ,登录后有具体你的app列表,点进去后有一些相关的哦
在Main-Logs里面,里面会有详细的错误,警告,啥的日志
作者: thsniperwolf    时间: 2009-06-24 09:49
标题: 回复 #11 smallfish_xy 的帖子
哦看到了,3Q
作者: 天魔封神霸    时间: 2009-06-26 14:30
不错的技术文章啊
作者: dslwz2008    时间: 2012-10-16 17:03
学习!:wink::wink::wink:




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2