我的图像文件夹中有图像。我想在浏览器上的 Dash 应用程序中显示这些内容。
这是我使用的代码:
import dash
from dash import Dash, html
import os
asst_path = os.path.join(os.getcwd(), "images")
app= Dash(__name__, assets_folder=asst_path)
print(f"{asst_path}/img1.jpg")
app.layout = html.Div([
html.Img(src=app.get_asset_url(f"http://{asst_path}/img1.jpg")),
html.Img(src=app.get_asset_url(f"{asst_path}/img2.jpg"))
])
if __name__ == '__main__':
app.run_server(debug=True)
链接here指出我还需要通过http提供资源:默认情况下,Dash会自动提供应用程序根目录下的assets文件夹中包含的所有文件,但我不确定它是什么是我做错了。感谢您的帮助
Dash 自动提供资产文件夹中的所有文件。所以在-app.get_asset_url()中,你只需要传递文件名,而不是完整路径或URL。
import dash
from dash import Dash, html
import os
asst_path = os.path.join(os.getcwd(), "images")
app= Dash(__name__, assets_folder=asst_path)
# Correct usage of app.get_asset_url()
# Replace with your image filename
image_filename = 'Figure_1.png'
image_src = app.get_asset_url(image_filename)
app.layout = html.Div([
html.Img(src=image_src),
])
if __name__ == '__main__':
app.run_server(debug=True)