我正在使用 web.py 和 GAE(Windows 7,Python27)运行一些基本的测试代码。该表单允许将消息发布到数据存储区。但是,当我停止应用并再次运行时,之前发布的任何数据都会消失。在管理员页面(http://localhost:8080/_ah/admin/datastore)手动添加实体也有同样的问题。我尝试使用额外的标志在应用设置中设置路径:
更新: 当我通过命令行运行它时,我得到以下结果:
建议数据存储没有正确安装?
--datastore_path=D:/path/to/app/
(语法不确定)。它没有任何效果。我在计算机上搜索 *.datastore,也找不到任何文件,这似乎有些可疑,虽然数据显然在应用程序运行期间被存储在某个地方。
from google.appengine.ext import db
import web
urls = (
'/', 'index',
'/note', 'note',
'/crash', 'crash'
)
render = web.template.render('templates/')
class Note(db.Model):
content = db.StringProperty(multiline=True)
date = db.DateTimeProperty(auto_now_add=True)
class index:
def GET(self):
notes = db.GqlQuery("SELECT * FROM Note ORDER BY date DESC LIMIT 10")
return render.index(notes)
class note:
def POST(self):
i = web.input('content')
note = Note()
note.content = i.content
note.put()
return web.seeother('/')
class crash:
def GET(self):
import logging
logging.error('test')
crash
app = web.application(urls, globals())
def main():
app.cgirun()
if __name__ == '__main__':
main()
更新: 当我通过命令行运行它时,我得到以下结果:
WARNING 2012-04-06 19:07:31,266 rdbms_mysqldb.py:74] The rdbms API is not available because the MySQLdb library could not be loaded.
INFO 2012-04-06 19:07:31,778 appengine_rpc.py:160] Server: appengine.google.com
WARNING 2012-04-06 19:07:31,783 datastore_file_stub.py:513] Could not read datastore data from c:\users\amy\appdata\local\temp\dev_appserver.datastore
WARNING 2012-04-06 19:07:31,851 dev_appserver.py:3394] Could not initialize images API; you are likely missing the Python "PIL" module. ImportError: No module named _imaging
INFO 2012-04-06 19:07:32,052 dev_appserver_multiprocess.py:647] Running application dev~palimpsest01 on port 8080: http://localhost:8080
INFO 2012-04-06 19:07:32,052 dev_appserver_multiprocess.py:649] Admin console is available at: http://localhost:8080/_ah/admin
建议数据存储没有正确安装?