На самом деле есть несколько моментов, в которых ваш код (ы) может потерпеть неудачу, потому что установить правильную интерфейсную цепочку в Flask немного сложно (но оно того стоит в конце).
У вас есть встречная часть front-end HTML код, где вы начинаете запрос с правильной переменной, такой как "course" в вашем примере, которая может выглядеть следующим образом:
<form action="/courses" method="post">
<input>
<button type="submit"></button>
</form>
Тогда Flask as back-end получит эту переменную ( параметр ) как часть вашей строки запроса как часть строки URL . Вы можете получить этот параметр в виде:
course = request.form.get('course')
Для этого вам нужно добавить "POST" методы представления, так как он обрабатывает только "GET" -s по умолчанию.
@app.route('/courses', methods=["GET", "POST"])
Затем вы можете использовать эту переменную для выполнения серверных операций :
query2 = ("SELECT * FROM courseInfo where courseCode = '" + course + "';")
эти результаты, затем вы можете передать их обратно через интерфейс:
return jsonify(myresult2)
Ваш код на python / flask должен выглядеть примерно так:
from flask import Flask
from flask import render_template
import requests
from flask import request
from flask import jsonify
import mysql.connector
app = Flask(__name__)
mydb = mysql.connector.connect(user='Mille',
auth_plugin='mysql_native_password',
password='jagheter12',
host='localhost',
database='paraplyet')
@app.route('/')
def index():
return render_template("index2.html")
@app.route('/courses', methods= ["GET", "POST"])
def getStudentInCourse():
if request.method == "POST" and request.form.get('course') != '':
myCursor2 = mydb.cursor()
course = request.form.get('course')
query2 = ("SELECT * FROM courseInfo where courseCode = '" + course + "';")
myresult2 = myCursor2.execute(query2)
return jsonify(myresult2)
if __name__ == '__main__':
app.run()