我试图在flask中创建一个循环来显示幻灯片中的图像,但是我想要将图像的名称放入图片中,我尝试使用glob,但这给出了以下错误:TypeError: 'module' object is not callable
python代码
from flask import Flask, render_template
import glob
import os.path
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def home():
ruta_imagenes = glob(os.path.join(app.static_folder, "img"))
render_template('index.html',ruta_imagenes=ruta_imagenes )
if __name__ == ('__main__'):
app.run(debug=True)
HTML
<div class="carousel-inner">
{% for _, ruta in enumerate(rutas_imagenes) %}
<div class="carousel-item ">
{% if _ == 0 %}active{% endif %}
<img src="{{ ruta }}" class="d-block w-100" alt="...">
</div>
{% endfor %}
</div>
发布于 2019-12-09 15:25:30
您正在导入glob
,然后调用它。但glob
是一个模块。
你想要的是
import glob
glob.glob(os.path.join(app.static_folder, "img"))
或
from glob import glob
glob(os.path.join(app.static_folder, "img"))
发布于 2019-12-09 15:30:39
正如@blueteeth提到的,你正在导入glob模块,它是不可调用的。您可能指的是glob.glob()
-- glob模块中的一个函数。
然而,即使到那时,glob
可能也不是您想要的。如果你想获取图片列表,你需要读取目录中的文件,如下所示:
ruta_imagenes = []
for root, dir, file in os.walk(path):
ruta_imagenes.append(file)
当然,不要忘记将这些图像传递给您的模板
https://stackoverflow.com/questions/59251452
复制