2016-06-09 2 views
-1
from flask import Flask, render_template 
from flask.ext.bootstrap import Bootstrap 
from flask.ext.mail import Mail 
from flask.ext.moment import Moment 
from flask.ext.sqlalchemy import SQLAlchemy 
from config import config 

bootstrap = Bootstrap() 
mail = Mail() 
moment = Moment() 
db = SQLAlchemy() 

def create_app(config_name): 
    app = Flask(__name__) 
    app.config.from_object(config[config_name]) 
    config[config_name].init_app(app) 
    bootstrap.init_app(app) 
    mail.init_app(app) 
    moment.init_app(app) 
    db.init_app(app) 
    # 
    return app 

Привет, я изучаю флягу, читая «Разработка фляжек для веб-сайтов от Grinberg M». Вышеприведенный код копируется из этой книги.Зачем мне нужно возвращать приложение в Flask create_app?

Не могли бы вы объяснить, почему мне нужно «вернуть приложение» в конце?

+1

Чтобы приложение было возвращено. – davidism

+0

T T yeah Я знаю, что приложение возвращается .. но я не знаю, почему приложение нужно вернуть. – leadh2o

+1

Чтобы его можно было использовать. – davidism

ответ

1

Насколько я знаю, вы не скопировали полный код.

Вы, наверное, пропустили эти строки или что-то подобное:

if __name__ == '__main__': 
    app = create_app('Example') 
    app.run() 

Причина автор возвращает приложения как @davidism пояснил, что мы используем экземпляр приложения, чтобы начать наше приложение Flask , Просто как тот!

Надеюсь, это ответит на ваш вопрос.

+0

Спасибо, это действительно поможет. – leadh2o

+0

Вы проверили и посмотрели, пропустили ли вы какие-то строки? Я рад, что это помогло. –

+0

Кстати, вы могли бы рассказать мне, почему переменные, такие как mail.init_app (приложение), выходят, даже если они не были возвращены? Или что такое ключевое слово, мне нужно искать эту часть знаний? – leadh2o