2015-12-02 61 views
0

刪除列表中的對象我有一對夫婦對我的網站的網頁鏈接,該鏈接的子頁面在這裏我列出了一些球隊的消息(標題和鏈接的列表)。不能MySQL查詢後peewee在瓶

當用戶點擊/Nba-Teams/Lakers他/她將被轉發到一個新的視圖,一切工作正常(我列出了有關湖人的消息),但當用戶返回到主頁並點擊/Nba-Teams/Spurs鏈接也可以工作,但我的視圖中的列表將始終包含以前的內容。

這就像每次查詢的時候被調用以前的結果不會從teamNews列表中消失。我真的是Python新手,所以如果有人能告訴我我做錯了什麼,我會非常感激。

我認爲當我加載了新的一頁的teamNews沒有得到歸零,但不幸的是我不能使它確定。正如你所看到的,我在將數據傳遞給html之後試圖刪除它的內容,但沒有任何反應。

由於HTML使用nbaTeamNews變量的內容,I'm不確定如果它是一個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 %} 

回答

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