Google App Engine 笔记 (常见问题及注意事项)

在使用Google App Engine进行开发经常遇到很多纠结问题,以下列出,并持续更新中..

 

1. 在一个继承于db.Model的自定义数据库类使用多于两个ReferenceProperty的时候 像这样:

 

会在运行时抛出以下错误:

 DuplicatePropertyError: Class Model already has property xxxxx_set (xxx为你的类名)

解决办法是 在参数里面显示声明collection_name , like this:

 

其中貌似collection_name是随便命名的...

2.在使用ReferencePropery的时候,一定要小心,给它的值应该是转换为某个记录的key, 不然会抛出莫名其妙的错误,,,

 

3.在写GAE程序的时候,要注意编码一致.我的意思是尽量要使用unicode(这么写:self.response.out.write(u"中文")),尽量要把py源文件本身,py文件头的编码声明,html模板文件,html内部的编码声明设置成一致(要么utf-8 要么GB2312/GB18030).不然英文啥问题都没有,只要程序里有了中文(包括"#这种中文注释") python解释器也会解释不出...佛曰:切记切记..

4.在debug=True的情况下也会莫名其妙的不报错而出现405错误的情况.这是在我用urllib来改http响应头中文编码的时候忘了导入urrlib了,,然后就莫名其妙的错误...原因可能是因为改坏了http响应头 浏览器自然没办法解析页面了,,但是在dev_appserver.py的守护窗口里面 还是看的到Traceback的..这让我很欣慰..

 

5.在设计处理/xx_handler?a=xx&b=xx这种get请求的时候,貌似不用在app.yaml的设置里面设/xx_handler.* 它会自动识别的..

6.在app.yaml的设置里,越在上面的记录是越优先匹配的,再加上正则表达式的纠结,就让当时的我很窘,,

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值