本地HTML文件无法正确加载到Dash应用程序中

3

我尝试将本地html文件嵌入到一个基本的Dash应用程序中。我使用了这个链接中的代码,并将路径替换为我的本地相对路径(dash应用程序与html本地页面在同一文件夹中)。

html.Iframe(src="random_example.html",
            style={"height": "1067px", "width": "100%"})

但是这是我得到的结果:html.H1 repeats in one another。该内容与IT技术相关。
1个回答

7
您可以将HTML文件放到“资产”文件夹中,并像这样引用它: assets
import dash
import dash_html_components as html

app = dash.Dash(__name__)

app.layout = html.Div(
    children=[
        html.Iframe(
            src="assets/random_example.html",
            style={"height": "1067px", "width": "100%"},
        )
    ]
)

if __name__ == "__main__":
    app.run_server(debug=True)

哇,非常感谢!我卡了很长时间,只需将HTML文件移动到资产中实际上就可以使其工作。奇怪的是,如果不将文件放入资产中,它为什么不起作用,但是还是谢谢! - undefined
你好,请问资产文件夹是什么意思?我尝试使用src="assets/my_file.html",但没有任何反应。也许我必须在使用src="assets/my_file.html"之前定义assets=something吗?谢谢!@Bas van der Linden - undefined
@MarionEtp 如果你还没有创建assets文件夹,你需要先创建它。将其创建在根目录下(即你的应用所在的文件夹),然后将文件放入assets文件夹中。请参考 https://dash.plotly.com/dash-enterprise/static-assets 官方文档了解更多信息。 - undefined
@5eb 我注意到那个文档页面是针对Dash Enterprise的。在使用开源版本的Dash而不是企业版的项目中,是否也可以包含静态HTML文件? - undefined
1
@KBurchfiel 是的。我自己从未使用过Dash企业版。企业版链接之所以首先显示出来,可能是因为某种原因,所以我使用了它。但在一般文档中也提到了它,可以在https://dash.plotly.com/external-resources找到相关信息。 - undefined
@5eb 太好了,谢谢你澄清! - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接