无法在peewee和Flas中使用MySQL查询后从列表中删除对象

2024-09-27 00:23:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我在我的网站主页上有几个链接,链接到我列出一些团队新闻的子页面(标题和链接列表)。你知道吗

当用户单击/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 %}

Tags: 用户视图内容列表链接html主页新闻
1条回答
网友
1楼 · 发布于 2024-09-27 00:23:03

不,您无法到达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 

相关问题 更多 >

    热门问题