我正在使用烧瓶和sqlalchemy,我遇到了有关文件上传的问题。烧瓶和sqlalchemy:使用存储在数据库中的路径获取上传的文件
我使用表单上传文件并将URL存储到数据库,因此我可以将其显示在页面中。
这里的窗体代码:
boxart = request.files['boxart']
if boxart:
filename = secure_filename(boxart.filename)
boxart_path = os.path.join(app.config['UPLOAD_FOLDER']+"boxart/", filename)
boxart.save(boxart_path)
game_son.boxart = boxart_path
db.session.add(game_son)
db.session.commit()
所以,我去我的模板,我可以打印game_son.boxart的内容,而该文件的完整路径。如果我点击链接,我可以访问,但不能显示图像标记内...
我尝试用得到它的模板:
<img src="{{ game_son.boxart_url() }}" />
模型内部,我定义了一个boxart_url方法,如果我需要在发送
class Game_son(db.Model):
__searchable__ = ['version_name']
son_id = db.Column(db.Integer, primary_key=True)
version_name = db.Column(db.String(128), index=True, unique=False)
son_timestamp = db.Column(db.DateTime)
dad = db.Column(db.Integer, db.ForeignKey('game_dad.id'))
console = db.Column(db.Integer, db.ForeignKey('platform.id'))
boxart = db.Column(db.String(256))
thumbnail = db.Column(db.String(256))
genre = db.Column(db.String(32))
subgenre = db.Column(db.String(32))
def boxart_url(self):
return self.boxart
def __repr__(self):
return '<Game %r>: %r' % (self.version_name, self.dad)
页的视图只是给整个对象(游戏)的页面之前,解析字符串。
是在页面上到达的网址是:
/home/removed_my_pc_user/app/media/boxart/image.jpg
编辑: 我只记得,我使用的是项目上的虚拟环境。
它与chmod有关吗?
在此先感谢!
你的代码在你的模板中显示图像在哪里?你如何从数据库中获取数据?你已经提供了插入语句,但这不能帮助我们解决你的问题,它不会在图像标签中显示。 – CodeLikeBeaker
谢谢。我在问题中增加了更多信息。如果还有别的东西,告诉我。 – Felipe
当您查看源代码时,您的img标签的src是什么? – CodeLikeBeaker