0

请帮帮我。我正在 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 )
4

2 回答 2

2

在第 3 行中,getAllBasesTable您将覆盖bases. 所以删除bases = {},你应该有你想要的结果。

于 2013-06-02T21:14:32.680 回答
0

问题解决了!我变了

from google.appengine.ext import db

为了

from google.appengine.ext import ndb

现在所有查询都可以正常工作

于 2013-06-02T21:44:12.833 回答