2017-10-14 67 views
-1

我开始创建我的瓶的应用程序的老同学道:我有,我定义了一个名为应用程序变量Python包,初始化,然后输入我的代码:通过瓶的行为困惑

# -*- coding: utf-8 -*- 
import os 

from flask import Flask 

app = Flask(__name__) 
app.config.from_object('config') 
app.secret_key = os.urandom(12) 

from dashboard import forms, models, views 

虽然添加单元测试项目中,我发现,所以我创建了一个工厂,我应该使用应用工厂:

# -*- coding: utf-8 -*- 
import os 

def create_app() 
    from flask import Flask 

    app = Flask(__name__) 
    app.config.from_object('config') 
    app.secret_key = os.urandom(12) 

app = create_app() 
from dashboard import forms, models, views 

除了与厂方我的意见不会被加载。我致电的任何路线都会返回404.如果没有工厂,一切正常。

如何诊断发生了什么?

+0

首先,通过提供代码的精确图像。缺失的返回值是否是问题?很难说,因为'def create_app()'后面的冒号冒号意味着它不是真的在运行......另外,请使用Python 3。 – Ryan

回答

2

create_app不得不返回app变量:

def create_app() 
    from flask import Flask 

    app = Flask(__name__) 
    app.config.from_object('config') 
    app.secret_key = os.urandom(12) 

    return app 

因为默认的回报是None