這是我tips.html
模板的片段,包括在index.html
:db.Model.all()返回一個空列表
{% 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當然,我編輯帖子 –
模型似乎是正確的,你可以添加view.py嗎?看看它是否是一個上下文問題 –