我一直在尝试将用户表单数据(如日期、时间、数量等)发送到数据库,并在数据库中获取用户数据。但问题是,代码从某个点开始重复自身,并将整个过程执行两次
这是App.py文件
@app.route('/takeOrder')
def takeOrder():
return render_template('order.html')
@app.route('/takeOrder', methods = ['POST','GET'])
def order():
if request.method == 'POST':
_userEmail = str(escape(session['email']))
_chefEmail = 'chef@gmail.com'
_eventDate = request.form['eventDate']
_eventTime = request.form['eventTime']
_description = request.form['description']
_quantity = request.form['quantity']
_amount = 100
_recipeName = 'aloo parotha'
loggerClass.info('>>>>>>>>>>>>>>' + _userEmail)
_customerAddressID = orderDB.getAddressID(_userEmail)
loggerClass.info('>>>>>>>>>>>>>>' + _customerAddressID)
_chefAddressID = orderDB.getAddressID(_chefEmail)
loggerClass.info('>>>>>>>>>>>>>>' + _chefEmail)
_customerID = orderDB.getCustomerID(_customerAddressID)
loggerClass.info('>>>>>>>>>>>>>>' + _customerID)
_chefID = orderDB.getChefID(_chefAddressID)
loggerClass.info('>>>>>>>>>>>>>>' + _chefID)
_customerName = orderDB.getCustomerName(int(_customerAddressID))
loggerClass.info('>>>>>>>>>>>>>>' + _customerName)
_chefName = orderDB.getChefName(int(_chefAddressID))
loggerClass.info('>>>>>>>>>>>>>>' + _chefName)
orderFormData = OrderEmailData.OrderFormData(_userEmail, _chefEmail, _customerID, _chefID, _recipeName,
_eventDate, _eventTime, _description, _quantity, _amount)
orderNameData = OrderEmailData.OrderNamesData(_customerName, _chefName)
insertUserOrder = orderDB.insertOrder(orderFormData)
loggerClass.info('>>>>>>>>>>>>>>' + insertUserOrder)
if len(insertUserOrder) == 14:
orderEmail.customerOrderEmail(mail, orderNameData, orderFormData)
orderEmail.chefOrderEmail(mail, orderNameData, orderFormData)
return 'order submitted'
return 'Order failed'
这里是数据库连接文件,我一直在推数据
def getDBConnection():
try:
dbConfig = DBConfig.DBConfig()
connection = dbConfig.getConnection()
logger.info('ORDER DB -> CONNECTION CREATED')
except:
connection = None
logger.error('ORDER DB -> CONNECTION NOT CREATED')
finally:
logger.info('ORDER DB -> CONNECTION RETURNED')
return connection
def getAddressID(userEmail):
try:
connection = OrderDB.getDBConnection()
with connection.cursor() as cursor:
cursor.execute( "call selectAddressid(%s, @p_address_id);", (userEmail) )
cursor.execute("select @p_address_id;")
_addressID = cursor.fetchone()
connection.commit()
return str(_addressID[0])
except:
logger.error('ERROR: IN FETCHING ADDRESS ID')
return 0
finally:
if connection is not None:
connection.close()
logger.info('ADDRESS ID: CONNECTION CLOSED')
def getCustomerID(_addressID):
try:
connection = OrderDB.getDBConnection()
with connection.cursor() as cursor:
cursor.execute( "call selectCustomerID(%s, @p_customer_id);", (int(_addressID) ))
cursor.execute("select @p_customer_id;")
_customerID = cursor.fetchone()
connection.commit()
return str(_customerID[0])
except:
logger.error('ERROR: IN FETCHING CUSTOMER ID')
return 0
finally:
if connection is not None:
connection.close()
logger.info('CUSTOMER ID FETCHING: DB CONNECTION CLOSED')
这是日志文件
07/29/2018 12:31:12 AM - INFO - 127.0.0.1 - - [29/Jul/2018 00:31:12] "GET /takeOrder HTTP/1.1" 200 -
07/29/2018 12:31:36 AM - INFO - >>>>>>>>>>>>>>customer@gmail.com
07/29/2018 12:31:36 AM - INFO - >>>>>>>>>>>>>>customer@gmail.com
07/29/2018 12:31:36 AM - INFO - ORDER DB -> CONNECTION CREATED
07/29/2018 12:31:36 AM - INFO - ORDER DB -> CONNECTION RETURNED
07/29/2018 12:31:36 AM - INFO - ORDER DB -> CONNECTION CREATED
07/29/2018 12:31:36 AM - INFO - ORDER DB -> CONNECTION RETURNED
07/29/2018 12:31:36 AM - INFO - ADDRESS ID: CONNECTION CLOSED
07/29/2018 12:31:36 AM - INFO - >>>>>>>>>>>>>>199
07/29/2018 12:31:36 AM - INFO - ADDRESS ID: CONNECTION CLOSED
07/29/2018 12:31:36 AM - INFO - >>>>>>>>>>>>>>199
07/29/2018 12:31:36 AM - INFO - ORDER DB -> CONNECTION CREATED
07/29/2018 12:31:36 AM - INFO - ORDER DB -> CONNECTION RETURNED
07/29/2018 12:31:36 AM - INFO - ORDER DB -> CONNECTION CREATED
07/29/2018 12:31:36 AM - INFO - ORDER DB -> CONNECTION RETURNED
07/29/2018 12:31:36 AM - INFO - ADDRESS ID: CONNECTION CLOSED
07/29/2018 12:31:36 AM - INFO - >>>>>>>>>>>>>>chef@gmail.com
07/29/2018 12:31:36 AM - INFO - ADDRESS ID: CONNECTION CLOSED
07/29/2018 12:31:36 AM - INFO - >>>>>>>>>>>>>>chef@gmail.com
有什么建议为什么它会自己重复吗?它是否与try..有关,除了在DB连接文件中
我尝试了@app.before\u first\u request decorator and debug=False,但仍然没有成功。
谢谢
目前没有回答
相关问题 更多 >
编程相关推荐