我正在构建一个使用Bokeh库的Python Web应用程序。我想使用Bokeh的内联嵌入过程在html页面中显示图表,但是出了问题,我很难找到我做过的错误。
当我在本地运行我的应用程序并尝试生成Bokeh图时,出现以下错误:“浏览器(或代理)发送了此服务器无法理解的请求”
我对Python&一般编程,所以如果我的代码有时很笨拙我会道歉。
我没有运行Bokeh服务器,根据我在文档中的理解,这种嵌入形式(?)不是必需的。如果有一种使用Bokeh服务器在html中嵌入绘图的替代方法,请分享。
在html中,我添加了Bokeh脚本和链接标记:
<head>
<meta charset="utf-8">
<link href=
"http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"
rel="stylesheet">
<link
href="http://cdn.pydata.org/bokeh/release/bokeh-0.12.1.min.css"
rel="stylesheet" type="text/css">
<script src="http://cdn.pydata.org/bokeh/release/bokeh-0.12.1.min.js"></script>
{{ script }}
</head>
我还将{{div}}值添加到html正文中。
相关的controller.py代码如下所示:
@app.route('/', methods=['GET', 'POST'])
def index():
form = Regression(request.form)
if request.method == 'POST' and form.validate():
if request.form['btn'] == 'Plot Regression':
regr = reg(form.ticker.data, form.months.data)
b1, b2, b3, r, a = regr.b1, regr.b2, regr.b3, regr.r2, regr.a
script, div = plotreg(b3, a, regr.xreturn, regr.yreturn)
else:
script, div = plotprice(form.ticker.data, form.months.data)
b1, b2, b3, r, a = None, None, None, None, None
else:
b1, b2, b3, r, a, script, div = None, None, None, None, None, None, None
return render_template('index.html',form=form, b1=b1, b2=b2, b3=b3, r=r, a=a, script=script, div=div)
如果我的代码中有错误,它应该在这里的某个地方......否则也许我错过了什么?任何帮助将不胜感激!