我把这个表单发布到一个名为submitRegistration的应用程序路径上,代码如下……但是它没有返回一些关于丢失字段的json,而是抛出了一个500内部服务器错误。有人能解释一下为什么吗?在
@app.route('/submitRegistration',methods=['POST', 'GET'])
def submitRegistration():
try:
_contactName = request.form['contact_name']
_businessName = request.form['business_name']
_telephone = request.form['telephone']
_email = request.form['email']
_address = request.form['address']
_city = request.form['city']
_state = request.form['state']
_zip = request.form['zip']
_services = request.form['services']
# validate the received values
if _contactName and _email and _telephone and _address and _city and _state and _zip and _services:
# All Good, let's call MySQL
conn = mysql.connect()
cursor = conn.cursor()
cursor.callproc('sp_submitRegistration',(_contactName,_businessName,_telephone,_email,_address,_city,_state,_zip,_services))
data = cursor.fetchall()
# SMS Confirmation
smsClient = TwilioRestClient(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN)
message = smsClient.messages.create(
body=TWILIO_REG_SMS_MESSAGE,
to=_telephone,
from_=TWILIO_FROM_TELEPHONE,
)
if len(data) is 0:
conn.commit()
return json.dumps({'message':'Registration submitted successfully !'})
else:
return json.dumps({'error':str(data[0])})
else:
return json.dumps({'html':'<span>Enter the required fields</span>'})
except Exception as e:
return json.dumps({'error':str(e)})
finally:
cursor.close()
conn.close()
控制台输出
^{pr2}$新建应用程序路由。。。在
# Functions
@app.route('/submitRegistration',methods=['POST', 'GET'])
def submitRegistration():
try:
_contactName = request.form['contact_name']
_businessName = request.form['business_name']
_telephone = request.form['telephone']
_email = request.form['email']
_address = request.form['address']
_city = request.form['city']
_state = request.form['state']
_zip = request.form['zip']
_services = request.form['services']
# validate the received values
if _contactName and _email and _telephone and _address and _city and _state and _zip and _services != "":
# All Good, let's call MySQL
conn = mysql.connect()
cursor = conn.cursor()
cursor.callproc('sp_submitRegistration',(_contactName,_businessName,_telephone,_email,_address,_city,_state,_zip,_services) )
data = cursor.fetchall()
# SMS Confirmation
smsClient = TwilioRestClient(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN)
message = smsClient.messages.create(
body=TWILIO_REG_SMS_MESSAGE,
to=_telephone,
from_=TWILIO_FROM_TELEPHONE,
)
if len(data) is 0:
conn.commit()
return json.dumps({'message': 'Registration submitted successfully !'})
cursor.close()
conn.close()
else:
return json.dumps({'error':str(data[0])})
else:
return json.dumps({'html': '<span>Enter the required fields</span>'})
except Exception as e:
return json.dumps({'error':str(e)})
这里的答案基本上是关闭if语句之外的mysql连接造成了一个超出范围的条件。。。在
更正应用程序路径下面。在
相关问题 更多 >
编程相关推荐