В основном в этом приложении я подключаюсь к моей базе данных sql и пытаюсь получить результаты для входов, данных пользователем, которые являются ВОЗРАСТОМ, SEX и ADMITTING DIAGNOSIS CODE. Я могу дать пользователю ввод как для AGE, так и для SEX и получить требуемые результаты, но когда я даю пользователю ввод для ADMITTING_DIAGNOSIS_CODE, он возвращает 400 BAD REQUEST.Приложение для флиса python возвращает 400 Bad request
Мой Python код:
import MySQLdb
from flask import Flask, render_template, request
from flask.ext.mysqldb import MySQL
app = Flask(__name__)
db = MySQLdb.connect("127.0.0.1","root","","health")
@app.route("/", methods = ['GET','POST'])
def home():
return render_template('home.html')
@app.route("/value", methods = ['GET','POST'])
def Authenticate():
cursor = db.cursor()
AGE = request.form['AGE']
SEX = request.form['SEX']
ADMITTING_DIAGNOSIS_CODE = request.form['ADMITTING_DIAGNOSIS_CODE']
#DIAGNOSIS_CODE_1= request.args['DIAGNOSIS_CODE_1']
sql = 'select avg(LENGTH_OF_STAY),avg(TOTAL_CHARGES),(select count(*) from health where AGE = 3 and SEX = 1 and ADMITTING_DIAGNOSIS_CODE = %s and DISCHARGE_STATUS = "A")/(count(*))*100 as alive,(select count(*) from health where AGE = 3 and SEX = 1 and ADMITTING_DIAGNOSIS_CODE = 5849 and DISCHARGE_STATUS = "B")/(count(*))*100 as dead from health where AGE = 3 and SEX = 1 and ADMITTING_DIAGNOSIS_CODE = 5849'
entries = []
cursor.execute(sql,(ADMITTING_DIAGNOSIS_CODE))
# Fetch all the rows in a list of lists.
results = cursor.fetchall()
for row in results:
entries.append(dict([('avg(LENGTH_OF_STAY)',row[0]),
('avg(TOTAL_CHARGES)',row[1]),
('dead',row[3]),
('alive',row[2])
]))
return render_template('show_entries.html', entries=entries)
if __name__ == "__main__":
app.debug = True
app.run()
Мой HTML-код:
**
> <form action="/value" method="post" enctype ="multipart/form-data">
> <div>Enter the Age <input type="text" name="AGE" style="border: 1px
> solid black"></div> <div>Enter the Sex <input type="text" name="SEX"
> style="border: 1px solid black"></div> <div>Enter the code <input
> type="text" name="ADMITTING_DIAGNOSIS_CODE" style="border: 1px solid
> black"></div> <div><input type="submit" value=" GO"></div> </form>
**
Пожалуйста, помогите мне.
Вы можете вставить urlencoded POST? Если он недоступен, вы можете получить его от чего-то вроде «инструментов разработчика» в любом браузере, который вы используете. Обычно что-то вроде вкладки «сеть» в этом представлении. –
Я не могу понять, что вы просите. Что именно вам нужно? –
Я просил фактические данные POSTED, отправленные на сервер, но я уверен, что это не будет необходимо. –