簡體   English   中英

FLASK-python ValueError:視圖函數未返回響應

[英]FLASK-python ValueError: View function did not return a response

我正在嘗試運行將數據插入表中的sql函數。 我按照此處說明的示例進行操作但是每當我運行腳本時,都會出現錯誤“ ValueError:View函數未返回響應”

我的代碼如下所示:

from flask import render_template, flash, redirect, request
from app import app
from .forms import LoginForm
from .forms import RegistrationForm
import sqlite3 as sql

@app.route('/')
@app.route('/index')


@app.route('/registration', methods = ['GET','POST'])
def registration():
    form = RegistrationForm()

    if request.method == 'POST':
      try:
         card_id = request.form['card_id']
         pin = request.form['pin']
         account_id = request.form['account_id']


         with sql.connect("testDB.db") as con:
            cur = con.cursor()

            cur.execute("INSERT INTO atm_card (card_id,pin,account_id) VALUES (?,?,?,?)",(card_id,pin,account_id) )

            con.commit()
            msg = "Record successfully added"
      except:
         con.rollback()
         msg = "error in insert operation"

      finally:
         return render_template("index.html",msg = msg)
         con.close()

我可能做錯了什么?

如果請求方法是GET,將返回什么? 您僅在POST請求時才渲染模板。 改正它。

@app.route('/registration', methods = ['GET','POST'])
def registration():
    form = RegistrationForm()

    if request.method == 'POST':
      try:
         card_id = request.form['card_id']
         pin = request.form['pin']
         account_id = request.form['account_id']


         with sql.connect("testDB.db") as con:
            cur = con.cursor()

            cur.execute("INSERT INTO atm_card (card_id,pin,account_id) VALUES (?,?,?,?)",(card_id,pin,account_id) )

            con.commit()
            msg = "Record successfully added"
      except:
         con.rollback()
         msg = "error in insert operation"

      finally:
         return render_template("index.html",msg = msg)
         con.close()
    else:
        return render_template('index.html', form=form)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM