weixin_54385215 2021-11-12 16:00 采纳率: 73.3%
浏览 95
已结题

一个图片目录如何编写以下内容,能教教我嘛,emo了

img


不会写这段代码有示例教教嘛!或者能不能教教我鸭!!十分感谢!!

  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2021-11-12 16:32
    关注

    不就是用flask搭建个web服务器显示flask项目下的图片路径吗。大概示例如下
    app.py,直接生成访问路由“/”,测试vue动态加载访问 "/vue"

    from flask import Flask, request,render_template
    import json
    import os
    
    app = Flask(__name__, static_url_path='')
    
    #直接显示
    @app.route('/')
    def index():
        url=r"static/images/"#读取当前py文件下static/images目录下的图片文件
        arr=[]
        for root,dir,files in os.walk(url):
            for f in files:
                 if(f.lower().endswith(('.png', '.jpg', '.jpeg', '.gif'))):
                     arr.append("/images/"+f)
              
        return render_template("index.html",files=arr)
    
    
    #vue+axios专用,动态加载
    @app.route('/data',methods=['GET','POST'])
    def data():#数据接口
        url=r"static/images/"#读取当前py文件下static/images目录下的图片文件
        arr=[]
        for root,dir,files in os.walk(url):
            for f in files:
                 if(f.lower().endswith(('.png', '.jpg', '.jpeg', '.gif'))):
                     arr.append("/images/"+f)
              
        return json.dumps(arr)
    @app.route('/vue')
    def vue():#前端页面,测试vue访问这个地址
        return render_template("vue.html")
    
    if __name__ == "__main__":
        app.run('0.0.0.0', port=8001,debug=True)
    

    templates/index.html,注意在app.py下建立templates目录,将index.html放里面

    <meta charset="utf-8" />
    <style>
        img{display:inline-block;margin-right:10px;height:100px}
        a{text-decoration:none}
    </style>
    {% for f in files %}
    <a rhef="{{f}}" target="_blank"><img src="{{f}}" /></a>
    {% endfor %}
    

    templates/vue.html

    <meta charset="utf-8" />
    <style>
        img{display:inline-block;margin-right:10px;height:100px}
        a{text-decoration:none}
    </style>
    <div id="app">
        <a v-for="f in files" v-bind:href="f">
            <img v-bind:src="f" />
        </a>
    </div>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: { files: [] },
            mounted() {
                axios.get('/data').then((res) => {
                    this.files = res.data;
                }).catch(() => {
                    alert('加载数据失败')
                })
            }
        })
    </script>
    
    

    static/images这个路径放图片文件

    img

    最终效果
    直接访问

    img


    vue+axios动态加载测试

    img

    有帮助麻烦点下【采纳该答案】,谢谢~~有其他问题可以继续交流~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月20日
  • 已采纳回答 11月12日
  • 创建了问题 11月12日

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?