Привет! Я использую следующий код для сохранения значений, введенных на html-странице ниже, в БД MySQL. Добавлен выпадающий список «RequestType», но при выборе значений из «RequestType» и нажатии кнопки «Отправить» возникает ошибка, описанная ниже. Размещены коды, используемые во Flask и HTML. Обратитесь за помощью к решению этой проблемы.
TypeError: execute () принимает от 2 до 3 позиционных аргументов, но было дано 5
Основная html-страница с тремя значениями, то есть именем, адресом электронной почты и типом запроса
Код, используемый во Flask, выглядит следующим образом
from flask import Flask, render_template, request, redirect
from flask_mysqldb import MySQL
app = Flask(__name__)
# Configure db
#db = yaml.load(open('db.yaml'))
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
#app.config['MYSQL_PASSWORD'] = 'P@$$w0rd'
app.config['MYSQL_DB'] = 'flaskapp'
mysql = MySQL(app)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
# Fetch form data
userDetails = request.form
name = userDetails['name']
email = userDetails['email']
requesttype = userDetails.get('requesttype')
cur = mysql.connection.cursor()
cur.execute("INSERT INTO users(name, email, requesttype) VALUES(%s, %s, [])", name, email, requesttype)
mysql.connection.commit()
cur.close()
return 'Save is Successful'
return render_template('index.html')
HTML-код приведен ниже.
<form method="POST" action="{{ url_for('index') }}">
Name <input type="text" name="name" />
<br>
Email <input type="email" name="email" />
<br>
RequestType <select id="RequestType" name = "RequestType" >
<option selected value="1">New</option>
<option value="0">Old</option>
</select><br>
<input type="Submit">
</form>