flask bokeh服务器-人物甚至不在本地渲染

问题描述 投票:-1回答:2

我无法在flask beind apache中运行bokeh服务器,所以现在我正在尝试在本地烧瓶中提供bokeh。该图未渲染。这是烧瓶代码:

from flask import Flask, render_template
app = Flask(__name__)

from bokeh.embed import server_document
@app.route("/")
def techblog():
    try:
        tag = server_document(url=r'/bokeh', relative_urls=True)
        return render_template('techblog.html', tag=tag)
    except Exception as e:
        return str(e)

if __name__ == '__main__':
    app.run(debug=True)

这里是散景代码:

from numpy.random import random
from bokeh.io import curdoc
from bokeh.plotting import figure
from bokeh.layouts import column, widgetbox
from bokeh.models import Button, ColumnDataSource
from bokeh.server.server import Server

def run(doc):

    fig = figure(title='random data', width=400, height=200, tools='pan,box_zoom,reset,save')

    source = ColumnDataSource(data={'x': [], 'y': []})
    fig.line('x', 'y', source=source)

    def click(n=100):
        source.data = {'x': range(n), 'y': random(n)}

    button = Button(label='update', button_type='success')
    button.on_click(click)

    layout = column(widgetbox(button), fig)
    doc.add_root(layout)
    click()

# configure and run bokeh server
kws = {'port': 5000, 'prefix':'/bokeh','allow_websocket_origin': ['127.0.0.1']}
server = Server(run, **kws)
server.start()
# if __name__ == '__main__':
server.io_loop.add_callback(server.show, '/')
server.io_loop.start()

这是我的html模板:

<h1 style='color:blue'>Hello There!</h1>

</br>
{{ tag|safe }}
</br>
{{ tag }}

我正在通过python运行flask应用。然后在一个单独的命令处理器上,我通过以下方式运行bokeh应用程序:

bokeh serve --allow-websocket-origin=localhost:5000 filename.py

我只获得不带“安全”字样的标签

<script src="/bokeh/autoload.js?bokeh-autoload-element=1001&bokeh-app-path=/bokeh" id="1001"></script>

而且我在烧瓶控制台上收到此消息。这是一个标准的404:

"GET /bokeh/autoload.js?bokeh-autoload-element=1000&bokeh-app-path=/bokeh HTTP/1.1" 404 -

就这些。没有图形或按钮被呈现。我应该怎么改变才能看到该图?

编辑:我已经在bokeh代码中指定了端口和前缀。结果没有改变。

编辑2:我在烧瓶控制台上添加了404错误的控制台msj。

我无法在flask beind apache中运行bokeh服务器,所以现在我正在尝试在本地烧瓶中提供bokeh。该图未渲染。这是烧瓶的代码:从烧瓶导入Flask,render_template ...

python flask localhost bokeh
2个回答
1
投票

我在@bigreddot的答案中添加了一些细节。


2
投票

有些错误:

  • 您尚未配置端口,因此Bokeh服务器将使用其默认端口5006(而非5000)

  • 您尚未配置应用程序路径,因此Bokeh服务器将从其默认位置/(不是/bokeh

© www.soinside.com 2019 - 2024. All rights reserved.