我有一个flask项目,它使用flask_login来处理登录(duh)。 项目架构是这样的:
SWAP
├── Procfile
├── README.md
├── config.sh
├── get-pip.py
├── requirements.txt
├── run.sh
└── www
├── __init__.py
├── auth.py
├── db.sqlite
├── main.py
├── models.py
├── ressources
├── templates
│ ├── *.html
├── tools.py
└── wsgi.py
当我使用烧瓶运行时,一切都按预期工作,但是我尝试使用gunicorn并且我已经
AttributeError: 'Flask' object has no attribute 'login_manager'
现在这是我的wsgi.py:https://pastebin.com/CqdKhw0q
我的main.py:https://pastebin.com/HPys576M
和我的auth.py:https://pastebin.com/zLj1ULcC
当我运行gunicorn -w 1 www.wsgi:app
时,我的/
页面可以正常运行,但是如果我尝试访问/profile
在我的main.py文件中受@login_required
保护的情况下,我遇到了以上错误。
我是刚接触枪械的人,所以可能有些愚蠢。
谢谢
答案 0 :(得分:1)
问题不是出在枪械上,而是您忘记在flask_login中配置的login_manager。
因此,首先您必须导入login_manager
from flask_login import login_manager
的指示配置应用程序
login_manager = LoginManager()
login_manager.init_app(app)
@login_manager.user_loader
def load_user(user_id):
# Change this to retrieve the user from the db
return User.get(user_id)
希望我能对您有所帮助