html - 赋值前引用的局部变量“消息”
问题描述
从我的 python 编辑器在我的 html 页面中呈现'user_message'变量时遇到问题,错误页面指出“在分配之前引用了局部变量'message'”。我在这里查看了以前的问题/答案,但无法弄清楚。下面是我的代码。感谢一些帮助。谢谢
if request.method == "POST":
new_user = request.form["username"]
registered_users = users()
if new_user in registered_users:
user_message = "Sorry, this username is taken, please choose another"
else:
if request.method == "POST":
user_list = open("data/users.txt", "a")
user_list.write(new_user + "\n")
session['user'] = new_user
flash("Thanks for registering {}!".format(request.form["username"]))
return render_template("register.html", register_message = user_message)
解决方案
您在语句中使用了user_message
变量,return
但只在一种情况下定义了它,即if
语句。所以你也必须在else
块中定义它,或者你可以user_message
在if-else
块上方定义并覆盖它,以防用户已经存在。寻找评论,以便在哪里修复。
if request.method == "POST":
new_user = request.form["username"]
registered_users = users()
if new_user in registered_users:
user_message = "Sorry, this username is taken, please choose another"
else:
if request.method == "POST":
user_message = "This user name available !!!" # <--- You need to define it in the else branch too
user_list = open("data/users.txt", "a")
user_list.write(new_user + "\n")
session['user'] = new_user
flash("Thanks for registering {}!".format(request.form["username"]))
return render_template("register.html", register_message = user_message)
推荐阅读
- ios - 使嵌入 Storyboard ViewController 的 SwiftUI 视图使用全屏宽度
- java - 有没有办法在java中检查优先级队列中的优先级?
- python - 当主窗口不可见时隐藏或关闭 Tkinter 顶级窗口
- macos - “文件安装找不到
" 尝试使用 Homebrew 安装 CMake 时 - java - ArgumentFactory 如何在 JDBI v2 中工作?
- javascript - 在 nuxt.js 本地使用 vuetify `mdi` 图标并阻止 `cdn.jsdelivr.net` cdn
- java - 如何获得鼠标坐标的变化?
- c# - 我如何记录调用堆栈?
- ruby-on-rails - 是否可以使用 Google Analytics Measurement Protocol 通过参数设置事件创建日期?
- c - 从 C 中的 1 个语句中查找 2 个变量的总和