@app.route('/', methods=['GET','POST']) def index(): name = None form = NameForm() db.create_all() if form.validate_on_submit(): user = User.query.filter_by(username=form.name.data).first() if user is None: user = User(username=form.name.data) db.session.add(user) db.session.commit session['known'] = False if app.config['FLASKY_ADMIN']: send_email(app.config['FLASKY_ADMIN'], 'New User', 'mail/new_user', user=user) else: user = User(username=form.name.data) session['known'] = True session['name'] = form.name.data form.name.data='' return redirect(url_for('index')) send_email(['z_xinzheng@126.com'], 'Warnning', 1 , **kwargs) send_async_email(app, msg) return render_template('index.html', form=form, name=session.get('name'), known=session.get('known', False)) File "C:\Users\DELL\Desktop\flasky\hello.py", line 114, in index if app.config['FLASKY_ADMIN']: KeyError: 'FLASKY_ADMIN' 127.0.0.1 - - [23/May/2023 19:39:40] "POST / HTTP/1.1" 500 -
时间: 2023-12-03 11:42:33 浏览: 79
Python的Flask框架中@app.route的用法教程
这个错误看起来是因为在你的 Flask 应用中没有定义 `FLASKY_ADMIN` 配置变量。你可以检查一下你的配置文件或者在应用中定义这个变量。可以在配置文件中加入以下内容:
```
import os
class Config:
# ...
FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN')
# ...
```
或者在应用中直接定义:
```
app.config['FLASKY_ADMIN'] = 'your_admin_email@example.com'
```
记得将 `'your_admin_email@example.com'` 替换成你的管理员邮箱。这样,就可以通过电子邮件通知管理员了。
阅读全文