[英]TypeError: render_template() takes 1 positional argument but 2 were given in (Flask Framework)
[英]TypeError: render_template() takes 1 positional argument but 2 were given
我正在尝试使用 Jinja 将模板添加到我的代码中,但它向我发送了错误。 这个程序所做的是实时绘制图形,我想用 CSS 添加一些设计。
这是代码:
import dash
from dash.dependencies import Output, Input
import dash_core_components as dcc
import dash_html_components as html
import plotly
import random
import plotly.graph_objs as go
from collections import deque
from flask import Flask, render_template
from flask import request, jsonify
X = deque(maxlen=20)
Y = deque(maxlen=20)
X.append(1)
Y.append(1)
app = dash.Dash(__name__)
app.layout = html.Div(
[
dcc.Graph(id='live-update-graph', animate=True),
dcc.Interval(
id='interval-component',
interval=3000,
n_intervals=0
)
]
)
@app.callback(Output('live-update-graph', 'figure'),
[Input('interval-component', 'n_intervals')])
def update_graph(n):
X.append(X[-1]+1)
Y.append(Y[-1]+(Y[-1]*random.uniform(-0.1,0.1)))
data = go.Scatter(
x = list(X),
y = list(Y),
name = 'Scatter',
mode = 'lines+markers'
)
return render_template('template.html', {'data':[data], 'layout': go.Layout(xaxis = dict(range=[min(X), max(X)]),
yaxis = dict(range=[min(Y), max(Y)]))})
if __name__ == '__main__':
app.run_server(debug=True)
谢谢你。 问候。
render_template()只接受一个参数,它应该是一个 HTML 文件的名称作为字符串。
阅读这个和从那个文档
flask.render_template(template_name_or_list, **context)
使用给定的上下文呈现模板文件夹中的模板。
参数:
template_name_or_list – 要呈现的模板的名称,或带有模板名称的可迭代对象,第一个存在的模板将被呈现
上下文– 模板上下文中应该可用的变量。
上下文是关键字参数,用于传递到 HTML 中的 Jinja2 模板。 您将所有关键参数作为字典放置。 在 Flask 中不接受上下文。
return render_template('template.html', data=[data], layout=go.Layout(xaxis = dict(range=[min(X), max(X)]), yaxis = dict(range=[min(Y), max(Y)])))
关键字 args 中的键不应作为字符串给出。 它应该是数据和布局。 不是“数据”和“布局”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.