CS50 Pset9注册功能异常求助:注册成功/重复用户名均触发异常
CS50 Pset9注册功能异常排查与修复
以下是导致注册功能无论成功与否均抛出异常的核心问题及修复方案:
index.html模板语法错误
你的index.html第一行缺少左大括号,导致模板引擎无法解析,注册成功后跳转首页时触发渲染异常。修正后应为:{% extends "layout.html" %}密码哈希函数未导入
app.py中使用了generate_password_hash但未导入该函数,执行注册时会抛出NameError。需在文件顶部添加导入语句:from werkzeug.security import generate_password_hash, check_password_hashapology函数有效性验证
确认你已正确实现或导入CS50课程提供的apology函数,该函数用于生成错误提示页面。若函数未定义或存在语法问题,调用return apology(...)时会直接触发异常。注册逻辑提示修正(非异常触发点,但优化用户体验)
检查确认密码是否为空时,错误返回了密码不匹配的提示,应修正为:if not (confirmation := request.form.get("confirmation")): return apology("PLEASE ENTER CONFIRMATION PASSWORD")
内容的提问来源于stack exchange,提问作者Giuliana Ambrosino
相关产品推荐
相关产品推荐

