图像未显示在本地主机上

时间:2020-08-14 07:09:42

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

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 -

那么有人可以为我提供解决方案吗?

1 个答案:

答案 0 :(得分:1)

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

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