如何使用Flask展示特定文件中的所有图像?

时间:2019-04-15 05:23:07

标签: python html flask

问候。我是python初学者,尤其是Flask。我想制作一个网页,使我能够根据一些关键字搜索图像并返回该网页中的两个相关图像。

并且,假设关键字为“ Steve作业”,那么与“ Steve作业”相关的这些图像将被Google搜索删除,并存储在名为“ Steve作业”的文件中。

问题是我仍然无法显示文件中的图像并返回空白页。另外,我在StackOverflow中尝试了一种解决方案,但仍然无法解决。与使用Jupyter相比,我感到非常困惑和沮丧,因此很难使用Flask在网页上显示输出。谢谢你。

hello.py

temp = np.where((prediction == tester)).all(axis=1))
len(temp[0])

about.html

@app.route("/about",methods=['GET', 'POST'])
def about():
    ...
    DIR = os.path.join(os.getcwd())
    DIR = os.path.join(DIR, query.split()[0])
    ...
    def show_index(): 
        for i,(img,Type) in enumerate(ActualImages[:2]):
            try:
                 req = urllib.request.Request(img, headers=header)
                 raw_img = urllib.request.urlopen(req).read()
                 cntr = len([i for i in os.listdir(DIR) if image_type in i]) + 1
                 print(cntr)

                 if len(Type)==0:
                     f = open(os.path.join(DIR,image_type + "_"+ str(cntr)+".jpg"),'wb')
                 else:
                      f = open(os.path.join(DIR,image_type + "_"+ str(cntr)+"."+Type),'wb')
                      f.write(raw_img)
                      f.close()

            except Exception as e:
                  print('>>> Could not load: '+img)
                  print(e)

        return f

    return render_template('about.html', f = f)

1 个答案:

答案 0 :(得分:0)

典型的HTML图像标签如下所示:

<img src="/path/image.gif" alt="My Image"/>

如您所见,src属性包含一个URL,告诉浏览器在哪里找到图像。它将关闭并从那里下载图像。它包含图像本身。您的代码似乎正在尝试将图像文件的内容加载到HTML中,但这无法正常工作。

(注意-将图像直接嵌入HTML可能是 ,但这很不寻常,因此我不再赘述。)

鉴于此,您需要按照How do i link to images not in Static folder in flask的答案将图像放置在某个地方,然后进行服务和引用。