我有一个登录所需的装饰功能,以管理页面访问
我的整个烧瓶项目都在蓝图中。app.py中只有主要内容。因此,我已将loqin_required函数应用于app.py,现在希望在我的蓝图文件中使用它
app.py
from blueprint1 import blueprint_function1
app.register_blueprint(blueprint_function1)
def login_required(f):
@wraps(f)
def decorated_function(*args, **kwargs):
if "logged_in" in session:
return f(*args, **kwargs)
else:
flash("Bu Sayfayi görüntülemek icin lütfen giris yapin", category="danger")
return redirect(url_for("login"))
return decorated_function
在我的blueprint1.py中,我执行以下操作:
from app import loqin_required
然后我得到以下错误: ImportError:无法导入名称“blueprint\u function1”
如何在其他文件中使用此装饰器
在blueprint1.py中导入所需的登录名:
现在,您还可以在app.py中导入blueprint1:
这两个模块相互导入,将导致Python Circular Dependency
要解决这个问题,您只需创建一个新模块来存储装饰器。例如,在app.py之外创建一个
decorators.py
模块。然后更改blueprint1.py中的导入语句:相关问题 更多 >
编程相关推荐