flask和flask_login - 组织代码

时间:2016-08-13 08:01:39

标签: python flask flask-login

我目前正在使用flask和flask_login编写一个简单的Web应用程序,并因代码组织问题而陷入困境。

import flask
import flask_login

app = flask.Flask(__name__)

login_manager = flask_login.LoginManager()
login_manager.init_app(app)

以上作品。出现问题是因为我想将认证相关代码与主要的烧瓶应用程序代码分开。换句话说,我希望my_auth.py导入flask_login并初始化login_manager,我希望main.pyimport my_auth,而不必导入flask_login }}

问题在于login_manager.init_app(app)需要传递主烧瓶app,这种明显的分离似乎很难。因此我的问题是:

  1. 我要求甚至可能吗?如果是这样,怎么样?
  2. 如果我要求的是不可能的,那么目前接受的是组织此类代码的最佳做法?

1 个答案:

答案 0 :(得分:1)

如果main.pymy_auth.py位于同一目录中,您可以执行以下操作:

my_auth.py

import flask_login

login_manager = flask_login.LoginManager()

main.py

from flask import Flask
from my_auth import login_manager

app = Flask(__name__)
login_manager.init_app(app)