2017-05-28 13 views
0

データをテーブルに挿入するSQL関数を実行しようとしています。私は例がhere説明し、次のですが、私は、スクリプトを実行するたびに、私はエラーを取得:FLASK-python ValueError:View関数が応答を返しませんでした

私のコードは次のようになります「とValueErrorがビュー機能は、応答を返しませんでした」:

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() 

を私は多分ことができるもの間違っている?

答えて

0

リクエストメソッドが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) 
+0

コードにメソッド 'GET'を含めた後(編集コードを参照)。私はまだ同じエラーを取得 – tapeli

+0

私のコードを最後の2行を参照して、貼り付けると私に教えてください。 – Sagar

+0

エラーはなくなりましたが、フォームがデータをテーブルに挿入していません。他の問題である – tapeli

関連する問題