Python 如何使用烧瓶显示打印数据

Python 如何使用烧瓶显示打印数据,python,flask,Python,Flask,我有一段python代码,我正试图在静态页面上显示数据 使用烧瓶代替控制台 from __future__ import print_function from private import private, private, private optimizeit = get_optimizeit(web.site, private.private) optimizeit.load_data_from_CSV("/path.../to..cvs.csv") data = optimizeit.g

我有一段python代码,我正试图在静态页面上显示数据 使用烧瓶代替控制台

from __future__ import print_function
from private import private, private, private
optimizeit = get_optimizeit(web.site, private.private)
optimizeit.load_data_from_CSV("/path.../to..cvs.csv")
data = optimizeit.get_data_by_name('somename')
data = optimizeit.data[0]  
data.max_exposure = 0.5
generatedata = optimizeit.optimizeit(4)
for datafield in generatedata:
    print (datafield)
在哪里打印我想打印到简单烧瓶页面。我尝试了一些事情,但我想不出最好的方法

编辑:我尝试了什么

from __future__ import print_function
import flask
from private import private, private, private
import time
app = flask.Flask(__name__)

@app.route('/sitea')
def index():
    def inner():
        optimizeit = get_optimizit(website.site12, private.someprivate)
        optimizer.load_players_from_CSV("/mypath to csv.../.csv") #import csv 
        data = optimizeit.datas[0]  #optimize that data
        data.max_exposure = 0.5 #set some exposure to that data 
        data_generator = optimizeit.optimizeit(4)
        for datalive in datalive_generator:
            return datalive
    return flask.Response(inner(), mimetype='text/html')  # text/html is required for most browsers to show the partial page immediately

app.run(debug=True)
编辑2:这成功了

from __future__ import print_function
import flask
from private import private, private, private
import time
app = flask.Flask(__name__)

@app.route('/sitea')
def index():
    def inner():
        optimizeit = get_optimizit(website.site12, private.someprivate)
        optimizer.load_players_from_CSV("/mypath to csv.../.csv") #import csv 
        data = optimizeit.datas[0]  #optimize that data
        data.max_exposure = 0.5 #set some exposure to that data 
        data_generator = optimizeit.optimizeit(4)
        for datalive in datalive_generator:
            yield '%s<br/>\n' % datalive
    return flask.Response(inner(), mimetype='text/html')  # text/html is required for most browsers to show the partial page immediately
from\uuuuu future\uuuuu导入打印功能
进口烧瓶
从private导入private,private,private
导入时间
app=烧瓶。烧瓶(\uuuuu名称\uuuuuuu)
@app.route(“/sitea”)
def index():
def inner():
optimizeit=get_optimizet(website.site12,private.someprivate)
optimizer.load_players_from_CSV(“/mypath to CSV…/.CSV”)#导入CSV
data=optimizet.datas[0]#优化该数据
data.max_exposure=0.5#为该数据设置一些曝光
数据生成器=optimizeit.optimizeit(4)
对于datalive中的datalive\u生成器:
生成“%s”
\n“%datalive” return flask.Response(inner(),mimetype='text/html')#text/html是大多数浏览器立即显示部分页面所必需的
这里


这只返回
datalive\u生成器中的第一项,然后退出函数,永不返回。您的意思可能是
yield datalive
。这样,它将继续将输出流式传输到响应。同时,您需要搜索一下Python中生成器和普通函数之间的差异。

看看Flask文档首页顶部的基本示例:基本上,您可以将代码完全放在一个“视图”中,并从该视图返回数据。如果你通过展示你所做的尝试和遇到的具体问题来重新表述你的问题,你可能会得到更多的关注。谢谢。我会把我试过的编辑一下。新手:)完成了。。看看……谢谢。你没有提到它以什么方式不起作用——一个好的问题不仅包括你尝试了什么,还包括你希望得到什么结果以及你得到了什么结果。但我想我可以告诉你。您的
internal()
函数以datalive\u生成器中的datalive的
结尾:return datalive
。这意味着函数只返回
datalive\u生成器中的第一个元素,然后返回。你可能在这里指的是
yield datalive
。那只是一个空白页。。我仍在努力找出一些def缩进等。。我知道这对于我的python测试来说有点复杂,但是。。。你知道:)试着让它工作。你说得对。。我想返回的是带有print语句的datalive_生成器,我只需执行print(datalive),生成的数据将来自datalive_生成器
    for datalive in datalive_generator:
        return datalive