【问题标题】:Using database value to show images使用数据库值显示图像
【发布时间】:2020-12-27 21:42:32
【问题描述】:

首先,感谢您的阅读,抱歉英语不好。

所以这是我正在创建烧瓶应用程序的问题。连接到 SQLAlchemy 数据库非常基本。

所以在我的 app.py 中,这就是我所拥有的。

class Things(db.Model):
    id=db.Column(db.Integer, primary_key=True)
    type = db.Column(db.String(100))
    company = db.Column(db.String(50))
    role = db.Column(db.String(100))
    mbegin = db.Column(db.Integer)
    ybegin = db.Column(db.Integer)
    mend = db.Column(db.Integer)
    dend = db.Column(db.Integer)
    comment = db.Column(db.String(1000))
    logo = db.Column(db.String(50))



@app.route('/')

def index():
    things_experience = Things.query.filter_by(type="Experience")
    things_academic = Things.query.filter_by(type="Academic")
    print(things_experience)
    return render_template('index.html', things_experience = things_experience, things_academic=things_academic)

在我的 index.html 中,这是我所拥有的:

<div class="row rounded" style="height:200px; color:#D8D8D8 ;background-color: #4D5051; margin:1.5%;">
      <div class="col-md-8">
        <div class = "row" >
            <h3 class = "col">{{things.company}}</h3>
            <h3 class="col">{{things.role}}</h3>
            <h4 class = "col">{{things.mbegin}}/{{things.ybegin}} - {{things.mend}}/{{things.dend}}</h4>
        </div>
        <div id="{{ things_experience[0] }}" class="row">
          <p class="col-sm-6"> </p>
          <p class = "col-md-8" style="text-align:Left">{{things.comment}}</p>
        </div>
      </div>
      <div class="col-md-4">
        <img src="{{url_for('static', filename="{{things.logo}}")}}" class="img-fluid" alt='{{things.company}}'>
        <p>{{things.logo}}</p>
      </div>
    </div>

不要问我为什么 filename="{{things.logo}} 不起作用,虽然当我查看静态文件夹时有 {{things.logo}}。我的想法是存储名称数据库列徽标内的静态文件夹中的图像。我不知道如何将图像存储在数据库中,所以我想出了这个想法(看起来不太聪明......)。最糟糕的

{{things.logo}}

它会打印出正确的值。所以我对什么不起作用感到有点迷茫,也许存在一些有价值的东西({{things.logo}})?我应该使用?

如果你们中有人知道如何解决这个问题,我将非常感激:) !!!

提前致谢,祝你有美好的一天:)

【问题讨论】:

    标签: python html flask flask-sqlalchemy


    【解决方案1】:

    我认为您正在寻找的语法是:

    <img src="{{url_for('static', filename=things.logo)}}" >
    

    url_for 调用中,您不需要在things.logo 周围加上双括号,因为filename 是一个参数,所以只接受一个变量名。

    【讨论】:

    • 哦,非常感谢!我把头发扯掉了!!我不知道文件名本身就是一个参数。
    猜你喜欢
    • 2012-10-26
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 2023-04-11
    • 2013-08-21
    • 1970-01-01
    相关资源
    最近更新 更多