0
我得到了以下非常基本的模板:实体存在,则返回空模板
<html>
<head>
</head>
<body>
<div>
<!-- Using "for" to iterate through potential pages would prevent getting empty strings even if only one page is returned because the "page" is not equal the query, it is a subcomponent of the query -->
<div>{{ page.name }}</div>
<div>{{ page.leftText }}</div>
<div>{{ page.imageURL }}</div>
<div>{{ page.rightText }}</div>
</div>
</body>
</html>
而且非常基本的型号:
class Page(db.Model):
name = db.StringProperty(required=True)
leftText = db.TextProperty()
rightText = db.TextProperty()
imageURL = db.LinkProperty()
而且非常基本的处理程序:
class BaseRequestHandler(webapp.RequestHandler):
#######
class PageContentLoadRequestHandler(BaseRequestHandler):
def renderPage(self, values):
directory = os.path.dirname(__file__)
path = os.path.join(directory, 'templates', 'simple_page.html')
return template.render(path, values, True)
def get(self):
page = db.get('aghwc21vZWJlbHIKCxIEUGFnZRgBDA')
#alternative code
# page db.get(db.key(self.request.get('key')))
# The solution is to call/fetch the wanted object/query
data = page.get() # or ... = Page.gql("GQL CODE").fetch(1)
values = {'page': page}
template_name = "simple_page.html"
return self.response.out.write(self.renderPage(values))
关键是随机从我的存储中取出,它是一个实体的实际存在的关键。 他们的想法是通过AJAX将页面内容动态加载到文档中,问题是,这个处理程序返回一个空模板。 没有错误,200 HTTP代码,密钥存在等,等等,等等等等。 由于这样的问题,我完全坏了,有点烦恼,因为我安静不知道错误可能在哪里。
问候,
编辑:更改模板值有正确的名称,我现在得到以下埃罗:
values = {'page': page, 'name': page.name,}
AttributeError: 'NoneType' object has no attribute 'name'
我收到一个“新”的错误,见上文。 – 2010-06-25 14:09:26
你的新问题是由代码中'page'为'None'引起的,这意味着你实际上并没有从你的'db.get()'调用返回一个'Page'。 – 2010-06-25 14:14:41
最后,我得到了整件事情,我想我没有集中精力,偶然发现了一些“错别字”和较小的结构错误。 感谢您的支持。 – 2010-06-25 14:59:18