【问题标题】:Image not displaying on the localhost图像未显示在本地主机上
【发布时间】:2020-08-14 07:09:42
【问题描述】:
class User(db.Model,UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)
    image_file = db.Column(db.String(20), nullable=False,
                           default='profile.jpg')
我将图像文件的名称从“default.jpg”更改为“profile.jpg”。 但是图像没有显示在本地主机上,因为图像的默认值在 Flask 的用户模型中设置为“default.jpg”。所以它要求本地主机从这个位置获取
"GET /static/img/default.jpg HTTP/1.1" 404 -

那么任何人都可以为我提供解决方案吗?

【问题讨论】:

    标签: python-3.x image flask flask-sqlalchemy flask-login


    【解决方案1】:

    我猜这只会发生在您数据库中的现有用户身上,如果您创建一个新用户应该不会有问题。您设置的默认值仅适用于新的用户对象,它适用于您创建新用户而不指定图像文件时。所以对于你数据库中已有的用户,image_file的值已经设置为“default.jpg”,与你后续在Flask模型中的修改无关。

    要更改现有用户的 image_file 的值,您可以编写一个视图函数在浏览器中修改该值,或者您可以简单地连接到您的数据库并直接更改该值。例如,如果您使用 SQLite,您可以尝试DB Browser for SQLite,打开本地 db 文件并使用用户友好的 GUI 修改值。

    【讨论】:

    • 是的,它发生在我创建新注册时。感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 2019-09-04
    • 2015-08-10
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多