我的网站主页上有几个链接,链接到我列出一些团队新闻(标题和链接列表)的子页面。
当用户点击/Nba-Teams/Lakers
时,他/她将被转发到新视图,其中一切正常(我列出了有关湖人的相关新闻),但是当用户返回到主页并单击/Nba-Teams/Spurs
链接,它也可以使用,但我视图中的列表将始终包含以前的内容。
就像每次调用查询时一样,以前的结果不会从teamNews
列表中消失。我是Python的新手,所以如果有人能告诉我我做错了什么,我真的很感激。
我认为加载新页面时teamNews
没有被取消,但不幸的是我无法确定。正如您所看到的,我在将数据传递给html之后就试图删除它的内容,但没有任何反应。
由于html使用nbaTeamNews
变量的内容,我不确定它是否是HTML格式问题。
teamNews = []
def getTeamNews (team_to_query):
for obj in teams.select().where(teams.Nba == team_to_query):
teamNews.append(obj)
return teamNews
@app.route('/Nba-Teams/<team>')
def team_page(team):
return render_template("teams.html", nbaTeamNews=getTeamNews(team))
del teamNews
HTML:
{% block body %}
<ul class=entries>
{% for entry in nbaTeamNews %}
<li><h2><a href="{{ entry.slug }}">{{ entry.newsTitle }}</a></h2>
{% else %}
<li><em>Unbelievable. No entries here so far</em>
{% endfor %}
</ul>
{% endblock %}
答案 0 :(得分:1)
不,您无法到达del teamNews
行,因为您已经返回了回复,因此之前的结果仍然存在。
相反,你可以这样做:
# No teamNews here.
def getTeamNews(team_to_query):
# Since you don't do any other things, directly assign it is enough, right?
# No need for a list comprehension or a for loop here.
teamNews = teams.select().where(teams.Nba == team_to_query)
return teamNews