2013-10-17 136 views
2

我有一個應用程序,它是相當大的,所以它被分爲模塊和使用blueprints,add_url_rule路由到各種模塊。一切工作正常,並以滿意。燒瓶登錄擴展,啓用登錄模塊

問題是,我需要使用文檔中的Flask-Login(https://flask-login.readthedocs.org/en/latest/#api-documentation)。我只能找到如何使用decorators保護視圖,爲此應用程序應該使用app.route('/home')設置路線。但正如我已經提到的,我使用blueprintsadd_url_rule

編輯:答案@Mark Hildreth編輯到這個問題,是必需的解決方案。謝謝。

+0

@AjKumar有沒有什麼我可以嘗試,但我沒有嘗試做'login_required(FUNC)'在循環內部,其中'func'是每個模塊的'view function'。它沒有做任何事情,也沒有任何錯誤。 – KBN

+0

也許這會幫助你。 http://stackoverflow.com/questions/16273499/flask-login-can-not-be-used-in-blueprint-object – ajkumar25

+0

@AjKumar是的,我在發佈我的問題之前看過這篇文章。答案中的建議解決方案已棄用。而且,它只是主應用程序變量。我有多個模塊,例如:添加,查看,編輯等,所有註冊爲不同的藍圖。 – KBN

回答

3

這個例子與裝飾:

@app.route('/') 
@login_required 
def index(): 
    pass 

相當於這個例子沒有裝飾:

def index(): 
    pass 
app.add_url_rule('/', 'index', login_required(index))