Python 将用户名传递给flask并使用sqlite3检索数据

Python 将用户名传递给flask并使用sqlite3检索数据,python,sqlite,flask,python-3.7,Python,Sqlite,Flask,Python 3.7,所以我刚刚开始学习flask,现在正在使用flask进入数据库。我有一个数据库“testdatabase.db”,其中有一个名为“Students”的表。我想做的是。当我将用户名传递到url时,我需要该特定行的详细信息 这是我的python代码 from flask import Flask, render_template, request import sqlite3 conn = sqlite3.connect('testdatabase.db') c = conn.cursor()

所以我刚刚开始学习flask,现在正在使用flask进入数据库。我有一个数据库“testdatabase.db”,其中有一个名为“Students”的表。我想做的是。当我将用户名传递到url时,我需要该特定行的详细信息

这是我的python代码

from flask import Flask, render_template, request
import sqlite3
conn = sqlite3.connect('testdatabase.db')
c = conn.cursor()


app = Flask(__name__)


@app.route("/students/<name>")
def students(name):
    return jam()


def jam():
    c.execute("select * from students where name = '" + name + "'")
    print(c.fetchall())
    conn.close()


if __name__ == "__main__":
    app.run(debug=True)
从烧瓶导入烧瓶,呈现模板,请求
导入sqlite3
conn=sqlite3.connect('testdatabase.db')
c=连接光标()
app=烧瓶(名称)
@应用程序路线(“/students/”)
def学生(姓名):
回程阻塞()
def jam():
c、 执行(“从学生中选择*,其中姓名=”+“姓名+”))
打印(c.fetchall())
康涅狄格州关闭
如果名称=“\uuuuu main\uuuuuuuu”:
app.run(debug=True)

显示的错误是未定义名称“name”。如何定义要传递到url的名称?

jam中没有变量“name”,请尝试:

from flask import Flask, render_template, request
import sqlite3
conn = sqlite3.connect('testdatabase.db')
c = conn.cursor()


app = Flask(__name__)


@app.route("/students/<name>")
def students(name):
    return jam(name)


def jam(name):
    c.execute("select * from students where name = '" + name + "'")
    print(c.fetchall())
    conn.close()


if __name__ == "__main__":
    app.run(debug=True)
从烧瓶导入烧瓶,呈现模板,请求
导入sqlite3
conn=sqlite3.connect('testdatabase.db')
c=连接光标()
app=烧瓶(名称)
@应用程序路线(“/students/”)
def学生(姓名):
返回果酱(名称)
def堵塞(名称):
c、 执行(“从学生中选择*,其中姓名=”+“姓名+”))
打印(c.fetchall())
康涅狄格州关闭
如果名称=“\uuuuu main\uuuuuuuu”:
app.run(debug=True)

正在将名称正确传递到url

@app.route("/students/<name>")
def students(name):
    return jam()
@app.route("/students/<name>")
def students(name):
    return jam(name)

def jam(name):
    c.execute("select * from students where name = '" + name + "'")
    print(c.fetchall())
    conn.close()
    # Return the data jsonfied.