2017-02-11 36 views
0

因此我當前從數據庫中提取一個值並將其顯示在屏幕上。我在它旁邊有一個HTML按鈕,每次點擊它時,屏幕上的分數都會增加1。目前,當我點擊按鈕時沒有任何反應。屏幕上的號碼保持不變。燒瓶:更新數據庫中的值的按鈕

Python的文件

@app.route('/') 
def layout(): 
    db = get_db() 
    try: 
     cur1 = db.execute('SELECT score FROM {tn} where name="Tyler"'.format(tn="Score")) 
     score1 = cur1.fetchone() 
     if request.method == 'POST': 
      db.execute('UPDATE {tn} SET score=score+1 WHERE name="Tyler"'.format(tn="Score")) 
      db.commit() 
    except: 
     flash("This person doesn't exist in our database!") 
    return render_template('layout.html', score1=score1) 

HTML文件

<form action="{{ url_for('layout') }}" method="post"> 
    <p align="center">Tyler</p> 
    <div align="center"> 
     <tr> 
     <td>{{ score1.score }}</td> 
     </tr> &nbsp; &nbsp; 
     <button type="button">+1</button> 
    </div> 
    </form> 

任何幫助表示讚賞。謝謝。

編輯:更新視圖和HTML。同樣的問題。

+0

那麼,會發生什麼? (爲什麼插入表名,特別是當它硬編碼?) –

+0

每當我點擊按鈕的數字不會改變。它只停留在零(表格中的默認值)。一旦我擁有基本的功能,我打算花費大量的硬編碼,這就是爲什麼你看到一些插值。 – HereComesDatBoi

回答

0

你的兩個視圖函數被映射到相同的路由;但URL只能由一個視圖提供。

要麼將​​increaseScore1函數映射到不同的路由,要麼將邏輯組合在一個函數中,該函數檢查方法是POST還是更新分數,否則只顯示它。

+0

這很有道理,並感謝您的回答。我更新了我的代碼並嘗試了它,但遇到了同樣的問題。 – HereComesDatBoi