Данные вставки в Flask и MS SQL: невозможно увидеть вновь вставленные данные с помощью веб-формы - PullRequest
0 голосов
/ 20 марта 2019

Моя база данных находится в MS SQL Server 2012, где была создана таблица с именем 'testFeed'.Я использую веб-форму, с помощью которой я пытаюсь вставить новые данные в базу данных.Я использую Flask App в качестве сценария на стороне сервера.Ниже мой AJAX-запрос

$(document).ready(function(){
$("#btnsubmit").click( function(){
    var circle = $("#circle_name").val();
    var intake_point = $("#pickup_place").val();
    var int_reason = $("#interruption_reason_code").val();
    var start = $("#start_time").val();
    var end = $("#end_time").val();
    var outage = $("#outage").val();
    var out_res = $("#restore_outage").val();
    var cons_count = $("#consumer_count").val();
    var total_cons = $("#total_consumer").val();
    var inter_date = $("#int_date").val();
    $.ajax({type:'POST',
        url: '/interuption/',
        contentType: 'application/json;charset=UTF-8',
        datatype:'JSON',
        data_1: {circle:circle_name},
        data_2: {intake_point:pickup_place}, 
        data_3: {int_reason:interruption_reason_code}, 
        data_4: {start:start_time}, 
        data_5: {end:end_time}, 
        data_6: {outage:outage}, 
        data_7: {out_res:restore_outage}, 
        data_8: {cons_count:consumer_count},
        data_9: {total_cons:total_consumer}, 
        data_10: {inter_date:int_date},
        success:function(result){
            console.log(result);
            }
        });
    });
});

И ниже мои соответствующие фрагменты кода Python.

cnxn = pyodbc.connect('DRIVER={SQL Server Native Client 
11.0};SERVER=10.90.3.13;DATABASE=test;UID=UserID;PWD=password')
cursor=cnxn.cursor()
query_insert = "INSERT INTO test.dbo.testFeed(circle_name,intake_point,interruption_reason_code,start_timestamp,end_timestamp,outage_kwh,outage_kwh_rest,affected_cons,total_cons,inter_date) VALUES (?,?,?,?,?,?,?,?,?,?)"
app = Flask(__name__)
@app.route('/')
def form():
    return render_template('form.html')
@app.route('/interuption/',methods = ['GET','POST'])
    def interuption():
       if request.method == 'POST':
            data_1 = request.json('circle')
            data_2 = request.json('intake_point')
            data_3 = request.json('int_reason')
            data_4 = request.json('start')
            data_5 = request.json('end')
            data_6 = request.json('outage')
            data_7 = request.json('out_res')
            data_8 = request.json('cons_count')
            data_9 = request.json('total_cons')
            data_10 = request.json('inter_date')
            cursor.execute(query_insert, 
 (data_1,data_2,data_3,data_4,data_5,data_6,data_7,data_8,data_9,data_10))
            cnxn.commit()
            cnxn.close()
        return render_template('form.html')
if __name__ == '__main__':
print("**Starting Server...")

app.run(host = '127.0.0.1',port=5002,debug = True)

form.html - моя WebForm.В этом я инициировал form следующим образом

<form class="myForm" action="/interuption/">

Когда я запускаю этот код, я получаю сообщение об ошибке как

ValueError: View function did not return a response. 

И тогда никакие данные не вставляются вБаза данных.

У меня два вопроса:

  1. Где в коде AJAX / Python я получаю сообщение об ошибке
  2. Может ли AJAX и код на стороне Pythonбыть сокращенным (for loop)?

Буду признателен за любую помощь.Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...