我正在尝试执行get请求,该请求将根据设置的参数打印数据库中的特定行。参数应该是一个课程的名称,我希望它从所选课程中获取所有数据。将其解释为sql查询可能更容易一些。查询可以如下所示“select*from courselist where course='d0024e';”其中“当然”。
我已经成功地执行了fetchall()并从一个特定的表中接收了所有的行,但是我还没有成功地使参数正常工作,以便从一个特定的课程中获取信息。
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"])
def getStudentInCourse():
myCursor2 = mydb.cursor()
query2 = ("SELECT * FROM paraplyet.kursinfo")
myCursor2.execute(query2)
myresult2 = myCursor2.fetchall()
return jsonify(myresult2)
if __name__ == '__main__':
app.run()
2条答案
按热度按时间xcitsw881#
实际上,有几个地方您的代码可能会失败,因为在flask中建立一个正确的前端-后端链有点棘手(但最后值得一试)。您有一个计数器部分前端HTML代码,您可以在其中使用适当的变量启动请求,如示例中的“course”,它可能如下所示:
然后作为后端的flask将把这个变量(参数)作为url字符串的一部分作为查询字符串的一部分。可以按以下格式检索此参数:
为了实现它,您必须添加“post”视图的方法,因为它默认只处理“get”-s。
然后,您可以使用此变量来完成后端操作:
然后,您可以通过以下方式将这些结果传回前端:
您的python/flask代码应该如下所示:
yxyvkwin2#
您需要更新路由url以接收参数
然后你可以用这个代码来过滤结果。