Flask-Dance:没有名为“ flask_dance.consumer.backend”的模块

时间:2019-05-25 07:17:12

标签: python flask flask-dance

这是我的第一个问题,请不要吃我!我完全是新手,出于OAuth的原因,我尝试使用flask-dance编写flask应用程序。似乎我做些愚蠢的事情,因为当我尝试import SQLAlchemyBackend class from flask_dance.consumer.backend.sqla Python返回

  

ModuleNotFoundError:没有名为“ flask_dance.consumer.backend”的模块

您能告诉我我到底在做什么错吗?

我对SQLAlchemy db使用flask-dance [sqla]版本。首先,我安装了没有SQLAlchemy支持的基本版本,然后卸载了该版本并安装了当前版本(均在venv内部)。是否有可能影响F-D功能及其自身的模块和子模块方案?

我不知道如何解决该问题以及解决方法。 Google也不帮忙。

我在引用中看到的是:

Traceback (most recent call last):   File "c:\users\igor\envs\2do2\lib\site-packages\flask\cli.py", line 235, in locate_app
    __import__(module_name)   File "C:\Users\igor\projects\gp\2do2\app\app.py", line 8, in <module>
    from flask_dance.consumer.backend.sqla import SQLAlchemyBackend ModuleNotFoundError: No module named 'flask_dance.consumer.backend'

1 个答案:

答案 0 :(得分:0)

Flask-Dance 1.4.0中,“后端”被重命名为“存储”,因为“后端”一词在Web开发的上下文中含义有所不同。此更改在1.4.0中向后兼容,但是在Flask-Dance 2.0.0中删除了向后兼容功能。

要在Flask 2.0及更高版本中实现此功能,只需在看到的任何地方用“存储”一词替换“后端”一词即可。例如,以下代码行:

from flask_dance.consumer.backend.sqla import SQLAlchemyBackend

反而成为:

from flask_dance.consumer.storage.sqla import SQLAlchemyStorage

如果您在current documentation中看到对“后端”的任何引用,请告诉我!它们现在都应该是“存储”。