Javascript 我的';index.py';密码?
我正在尝试使用flask和mysql创建一个CRUD应用程序。我尝试显示一个用于学生登录,另一个用于教师登录。点击按钮“Std Login”和“Teach Login”显示表单。 当我在控制台上运行代码时,它会显示出来----- 回溯(最近的呼叫丢失): @app.route('stdLog',methods=['POST','GET'] AssertionError:视图函数映射正在覆盖,现有端点函数:homeJavascript 我的';index.py';密码?,javascript,python,html,mysql,flask,Javascript,Python,Html,Mysql,Flask,我正在尝试使用flask和mysql创建一个CRUD应用程序。我尝试显示一个用于学生登录,另一个用于教师登录。点击按钮“Std Login”和“Teach Login”显示表单。 当我在控制台上运行代码时,它会显示出来----- 回溯(最近的呼叫丢失): @app.route('stdLog',methods=['POST','GET'] AssertionError:视图函数映射正在覆盖,现有端点函数:home 从烧瓶导入烧瓶,会话,渲染模板,请求 导入操作系统 导入mysql.connec
从烧瓶导入烧瓶,会话,渲染模板,请求
导入操作系统
导入mysql.connector
从烧瓶进口bcrypt
app=烧瓶(名称)
#app.secret\u key=os.uradom(24)
bcrypt=bcrypt(应用程序)
mydb=mysql.connector.connect(
host=“localhost”,
user=“root”,
密码=”,
db=“mydatabase”
)
@应用程序路径(“/”)
def home():
返回渲染模板('home.html')
@app.route('/stdLog',methods=['POST','GET'])
def home():
if request.method==“POST”:
mycursor=mydb.cursor()
pwHash=bcrypt.generate_password_hash(request.form['password'])
sql=“插入学生(姓名、密码)值(%s,%s)”
val=(request.form['name'],pwHash)
mycursor.execute(sql,val)
mydb.commit()
打印(mycursor.rowcount,“插入的学生记录”)
返回“ok”
@app.route('/teacherLog',methods=['POST','GET'])
def teacher():
如果request.method==“POST”:
mycursor=mydb.cursor()
pwHash=bcrypt.generate_password_hash(request.form['tpassword'])
sql=“插入教师(tname,tpassword)值(%s,%s)”
val=(request.form['name'],pwHash)
mycursor.execute(sql,val)
mydb.commit()
打印(mycursor.rowcount,“插入教师记录”)
返回“插入”
如果“名称”=“\uuuuuuuu主要”:
app.run(debug=True)
Std登录
教登录
名称:
密码:
函数mystd()
{
var s=document.getElementById(“std”);
如果(s.style.display==“无”){
s、 style.display=“block”;
}否则{
s、 style.display=“无”;
}
}
函数myteach()
{
var t=document.getElementById(“教学”);
如果(t.style.display==“无”){
t、 style.display=“block”;
}否则{
t、 style.display=“无”;
}
}
因为您正在覆盖现有的端点函数:home
将路由/stdLog功能更改为:def home2():
或def stdLog():
希望这对您有所帮助。
route
在url和函数名之间设置了一个双向映射。因此“/home()
和“/stdLog”home()
无法工作。我该怎么做才能消除这个问题呢?Menno Hölscher先生重命名了其中一个函数。我建议对“/stdLog”路由使用标准的日志不是处理这条路线的合理名称。参见J.Timm的答案。是的,我明白你的意思。门诺·霍尔舍尔先生。
@app.route('/stdLog',methods=['POST','GET'])
def stdLog():
if request.method=='POST':
mycursor=mydb.cursor()
pwHash=bcrypt.generate_password_hash(request.form['password'])
sql="insert into student (name,password) values (%s,%s)"
val=(request.form['name'],pwHash)
mycursor.execute(sql,val)
mydb.commit()
print(mycursor.rowcount,"student's record inserted")
return 'ok'