【发布时间】:2015-08-13 08:07:31
【问题描述】:
这是我的tips.html模板的片段,包含在index.html中:
{% for t in tips %}
<div class="col-lg-4 col-sm-6">
<form action="comment.html" method="get" class="portfolio-box">
<img src="img/portfolio/4.jpg" class="img-responsive" alt="">
<div class="portfolio-box-caption">
<div class="portfolio-box-caption-content">
<div class="project-category text-faded">
{{ t.title }}
</div>
<div class="project-name">
{{ t.content }}
</div>
<div><br /></div>
{% if user != 'None' %}
<input type="hidden" name="tipTitle" value="{{ t.title }}">
<input type="hidden" name="tipContent" value="{{ t.content }}">
<input type="hidden" name="hparam" value="tips">
<div><button class="btn btn-default btn-l wow tada">Explore</button></div>
{% endif %}
</div>
</div>
</form>
</div>
{% endfor %}
此 html 块应显示数据存储中可用的提示。但是,在我将第一个提示添加到数据存储区并将响应从 addtip.html 重定向到 index.html 之后,我只得到一个带图片的 div,但没有 {{ t.title }} 或 {{ t.content }},直到我刷新页面。
我将Tip.all() 传递给index.html 作为tips。
models.py
from google.appengine.ext import db
class User(db.Model):
fullName = db.StringProperty()
username = db.StringProperty()
email = db.StringProperty()
password = db.StringProperty()
def getKey(self):
return self.key()
class Tip(db.Model):
title = db.StringProperty()
content = db.StringProperty(multiline=True)
date = db.DateTimeProperty(auto_now_add=True)
img = db.BlobProperty()
user = db.ReferenceProperty(User, collection_name='tips')
def getKey(self):
return self.key()
class Comment(db.Model):
content = db.StringProperty(multiline=True)
date = db.DateTimeProperty(auto_now_add=True)
user = db.ReferenceProperty(User, collection_name='comments')
tip = db.ReferenceProperty(Tip, collection_name='comments')
我的处理程序
class MainPage(BaseHandler):
def get(self):
template = JINJA_ENVIRONMENT.get_template('index.html')
query = Tip.all()
context = {
'title' :'OutgoingIndex - ' + currentUser.username,
'user' : currentUser.username,
'tips' : query
}
self.response.write(template.render(context))
【问题讨论】:
-
你能给我们看看models.py和views.py吗?
-
@JoãoVilaça 当然,我编辑了帖子
-
models 似乎是正确的,你也可以添加 view.py 吗?看看是否是上下文问题
-
好吧,我的视图基本上是 html 文件,我没有 view.py @JoãoVilaça 你的意思是处理程序吗?
-
好吧,你总是有一个 urls.py、views.py 和 models.py,html 和 models.py 是正确的,所以问题是“提示”被传递而没有任何价值,它是空的,所以它可能是一个上下文问题,您可以在文件 views.py 上处理它
标签: html python-2.7 google-app-engine jinja2 google-cloud-datastore