我使用的是最新版本的web.py。
我正在尝试将数据从数据库打印到网页。 我使用的代码如下
import web
from google.appengine.ext import db
from models import *
urls = (
'/', 'index',
)
render = web.template.render('templates', base='base')
class index:
def GET(self):
votes = db.GqlQuery("SELECT * FROM votes")
return render.index(votes)
app = web.application(urls, globals())
main = app.cgirun()
模板如下
$def with(votes)
$for vote in votes:
<li>$vote.status</li>
我在运行时得到这个
[<models.votes object at 0x0000000004525F28>]
这是新版本导致的错误,因为它在以前的版本中有效。
我忘了说我正按照here的说法编辑我的模板。
答案 0 :(得分:0)
我不使用web.py;但也许它不像预期的那样支持模板中的生成器/迭代。首先尝试通过将您的行更改为:
来获取结果votes = db.GqlQuery("SELECT * FROM votes").fetch(100)
答案 1 :(得分:0)
它适用于我的机器,使用以下代码运行最新的web.py 0.36:
<强> main.py 强>
import web
from google.appengine.ext import db
class Votes(db.Model):
status = db.StringProperty()
urls = (
'/', 'Index',
)
render = web.template.render('templates', base='base')
class Index:
def GET(self):
vote = Votes()
vote.status ="foo"
vote.put()
votes = db.GqlQuery("SELECT * FROM Votes")
return render.index(votes)
app = web.application(urls, globals())
main = app.cgirun()
<强>模板/ index.html中强>
$def with(votes)
$for vote in votes:
<li>$vote.status</li>
templates / base.html
$def with (content)
<html>
<head>
</head>
<body>
$:content
</body>
</html>
这是结果: