视图中的数据正在输出到控制台而不是网页(flask-python)

时间:2014-07-07 01:25:18

标签: python flask gtfs

我试图抓住GTFS Feed中的一些数据。我还没有走得太远,我还在试图弄清楚如何打开并在本地保存内容。现在我有一个带有以下内容的烧瓶应用程序:

def mta():
    data = urllib2.urlopen('http://addresshere.php?key=keyvaluehere')
    response = data.read()
    print response

@app.route('/')
def index():
    test = mta()
    return render_template("index.html",
        test = test,
        title = "Home")

当我启动服务器时,它显示在控制台而不是我的浏览器中,我收到一条消息,上面写着"无"在index.html模板中。

我使用get_file_contents()在PHP中进行了快速测试并实际提取了信息,虽然它对我来说看起来像是胡言乱语。无论哪种方式,我都不确定为什么"无"正在我的模板中显示。启动服务器后,终端显示以下内容(类似于我使用PHP获得的内容)

11!??????"L15S(?>
11!??????"L16S(?>
11!??????"L17S(?>
11!??????"L19S(?>
11!??????"L20S(?>

另外请注意,我应该将mta函数设置为应用程序中的单独模块并将其导入视图吗?

2 个答案:

答案 0 :(得分:1)

你能尝试一下吗?

def mta():
    data = urllib2.urlopen('http://addresshere.php?key=keyvaluehere')
    response = data.read()
    print response
    return response

答案 1 :(得分:0)

您的mta函数会打印结果而不是返回结果,因此对于没有返回值的函数,test的默认值为None

def mta():
    data = urllib2.urlopen('http://addresshere.php?key=keyvaluehere')
    response = data.read()
    print response # should be return response