请帮帮我。 我正在用Python 2.7 + Google Application Engine编写我的学生项目。
我有下一页: / - 我有上传文件列表的主页
/ delete / file_blob_key - 从数据库中删除记录的处理程序
在两个处理程序中,我使用下一个语句:
bases = dbModels.kbEntity.all()
在'/'页面上,此语句返回数据存储区中的记录列表
在'/ delete / file_blob_key'页面上,此语句返回空列表
出了什么问题?
处理程序:
#===============================================================================
# Handler to delete file from server by key
#===============================================================================
class DeleteHandler(webapp2.RequestHandler):
def get(self, resource):
base = dbModels.kbEntity.all().filter('kbKey=', resource).fetch(1)[0]
base.delete()
self.redirect('/')
#===============================================================================
#
#===============================================================================
class IndexHandler(webapp2.RequestHandler):
def getAllBasesTable(self):
bases = dbModels.kbEntity.all()
bases.order('-kbUploadDate')
bases = {}
template = JE.get_template('./templates/TPLBasesTable.html')
values = {
'bases': bases
}
return template.render(values)
def get( self ):
self.response.headers['Content-Type'] = 'text/html'
template = JE.get_template('./templates/TPLIndex.html')
values = {
'bases': self.getAllBasesTable()
}
html = template.render( values )
self.response.out.write( html )
答案 0 :(得分:2)
在getAllBasesTable
的第3行,您将覆盖bases
。因此,请删除bases = {}
,您应该得到所需的结果。
答案 1 :(得分:0)
问题解决了! 我改变了
from google.appengine.ext import db
的
from google.appengine.ext import ndb
现在所有查询都可以正常运行