【问题标题】:Use external link in img src in flask jinja2在烧瓶 jinja2 的 img src 中使用外部链接
【发布时间】:2021-07-25 17:13:26
【问题描述】:

我想将外部链接用作烧瓶中 HTML 中 img 标记中的图像。 我知道如何将图像保存在静态文件夹中,但我的情况不同。

我想在 index.html 中执行以下代码:

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

我的 Flask 看起来像这样:

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 函数中删除静态端点,因为在静态文件夹中搜索外部图像链接没有意义,但后来我得到了 url_for 需要端点的错误。所以,我不知道如何放图片链接。

一切正常。只有图像没有得到 渲染,我得到了替代文本,即屏幕上的“无图像”。

任何帮助将不胜感激。提前感谢您的帮助。

【问题讨论】:

    标签: html python-3.x flask jinja2 web-deployment


    【解决方案1】:

    为什么不简单:

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

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

    【讨论】:

    • 我尝试了这种方法但仍然没有结果,它继续显示替代文本。
    • 我仔细检查了,您包含的 URL 实际上指向网站上的一个 HTML 页面,它为您提供下载该图像等的选项。因此它不能包含在 img 标记中。为什么不下载一个版本的图片,保存到你的static 目录,然后用url_for 以正常方式建立链接?
    • @Yash 如果您只是在寻找要包含的任何旧图像,请查看Loreum Picsum,它将根据此答案支持热链接。这非常好,因为它还允许您通过 URL 设置图像尺寸。事实上,这个网站的页脚说它实际上是从 unsplash 获取图像。
    • 我尝试了另一个链接,但它没有那个可下载的东西并且它有效。谢谢。
    • 对于未来的访问者,另一种方法是设置带有链接的烧瓶变量,然后在 img 标签中使用该变量。 {% set url='https://images.unsplash.com/photo-1422422153408-a3298d6d542c?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&amp;ixlib=rb-1.2.1&amp;auto=format&amp;fit=crop&amp;w=889&amp;q=80' %} &lt;img src="{{url}}" alt="No image"&gt;
    猜你喜欢
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多