在 flask jinja2 的 img src 中使用外部 link

Use external link in img src in flask jinja2

我想在 Flask 的 HTML 中的 img 标签中使用外部 link 作为图像。 我知道如何将图像保存在静态文件夹中,但我的情况不同。

我想在 index.html 中执行类似以下代码的操作:

<body>
    <h1>external image</h1>
    <img src={{url_for('static',filename='https://unsplash.com/photos/uUVkzxDR1D0')}}
      alt="No image">
</body>

我的烧瓶看起来像这样:

from flask import Flask,render_template

app=Flask(__name__,static_url_path='',static_folder='static',template_folder='templates')

@app.route("/")
def index():
    return render_template("index.html")

我尝试从 url_for 函数中删除静态端点,因为在静态文件夹中搜索外部图像 link 没有任何意义,但随后我得到了 url_for需要一个endpoint.So,我不知道怎么放图片link。

Everything is just working fine. Only the image is not getting rendered and I am getting the alt text, i.e., 'No Image' on screen.

如有任何帮助,我们将不胜感激。在此先感谢您的帮助。

为什么不简单:

<img src='https://unsplash.com/photos/uUVkzxDR1D0'
  alt="No image">

当然,这会在您的页面内从远程服务器热链接该图像,某些主机可能会禁用它们的图像。

在您的 Flask 应用中:

def index():
    ...
    img_url = "http://cooldomain.rofl/image.png"
    
    return render_template("index.html", img_url=img_url)

在您的模板中 index.html:

<html>
<img src="{{ img_url }}" alt="This is an image">
</html>

这样您就不需要将 URL 硬编码到模板中。