我正在使用Django和appengine。当我尝试保存记录时,我收到错误 “app_id一定不能为空”。应用程序名称已在app.yaml中设置。我还补充道 os.environ ['APPLICATION_ID'] = main.py中的'test'。但是,我继续得到同样的错误。
答案 0 :(得分:1)
当我尝试保存记录时,我收到错误“app_id一定不能为空”。
当我使用appengine作为“独立”时,例如(单元测试)为了修复“app_id一定不能为空”错误我总是执行:
app_id = 'XXXXXX'
os.environ['APPLICATION_ID'] = app_id
datastore_path = os.path.join(tempfile.gettempdir(),'dev_appserver.datastore')
history_path = os.path.join(tempfile.gettempdir(),'dev_appserver.datastore.history')
require_indexes = False
apiproxy_stub_map.apiproxy = apiproxy_stub_map.APIProxyStubMap()
datastore = datastore_file_stub.DatastoreFileStub(app_id, datastore_path, history_path, require_indexes=require_indexes)
apiproxy_stub_map.apiproxy.RegisterStub('datastore_v3', datastore)
就在我使用Google App Engine数据存储区的代码之前。
如果你在本地运行appserver,你不应该需要这个代码,因为所有的魔法都是由阅读app.yaml文件的框架做出的
答案 1 :(得分:0)
我之前没有看到你的错误。请注意,如果不使用“Django Helper”应用程序,则无法使用本机Django数据库函数:
http://code.google.com/appengine/articles/appengine_helper_for_django.html
如果您只使用Django的部分(但使用本机App Engine模型进行存储),则不需要使用Django Helper:
http://code.google.com/appengine/docs/python/datastore/overview.html