我在创建可以发送确认电子邮件的flask服务器时遇到了问题。即使我已经确保通过终端窗口安装了Flask和Flask_Mail,我还是收到了一个关键错误。
以下是生成错误的代码:
import os
import re
from flask import Flask, render_template,request,redirect
from flask_mail import Mail, Message
from cs50 import SQL
app = Flask(__name__)
app.config["MAIL_DEFAULT_SENDER"] = os.environ["MAIL_DEFAULT_SENDER"]
app.config["MAIL_PASSWORD"] = os.environ["MAIL_PASSWORD"]
app.config["MAIL_PORT"] = 587
# tcp port
app.config["MAIL_SERVER"] = "smtp.gmail.com"
app.config["MAIL_USE_TLS"] = True
# use encryption= true
app.config["MAIL_USERNAME"] = os.environ["MAIL_USERNAME"]
mail = Mail(app)
...
以下是生成的错误:
Traceback (most recent call last):
File "/opt/cs50/lib/flask", line 19, in <module>
sys.exit(flask.cli.main())
File "/usr/local/lib/python3.10/site-packages/flask/cli.py", line 1047, in main
cli.main()
File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.10/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/click/decorators.py", line 84, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/flask/cli.py", line 911, in run_command
raise e from None
File "/usr/local/lib/python3.10/site-packages/flask/cli.py", line 897, in run_command
app = info.load_app()
File "/usr/local/lib/python3.10/site-packages/flask/cli.py", line 312, in load_app
froshims5/ $ app = locate_app(import_name, None, raise_if_not_found=False)
File "/usr/local/lib/python3.10/site-packages/flask/cli.py", line 218, in locate_app
__import__(module_name)
File "/workspaces/103199450/froshims5/app.py", line 10, in <module>
app.config["MAIL_DEFAULT_SENDER"] = os.environ["MAIL_DEFAULT_SENDER"]
File "/usr/local/lib/python3.10/os.py", line 679, in __getitem__
raise KeyError(key) from None
KeyError: 'MAIL_DEFAULT_SENDER'
代码可能有什么问题?
1条答案
按热度按时间ruarlubt1#
没关系,我设法让它工作了。我想问题与环境变量有关。我所做的是将我的代码从上面的代码改为下面的代码: