Flask 用户图像输入
Flask user image input
卡在用户图像输入上,除图片外一切正常,但我不明白如何为 flask_sqlalchemy 创建图片对象,一直显示错误。
这个想法是用户输入的所有数据和图像和信息都将在主屏幕上可用。
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True) # auto +1
title = db.Column(db.String(20), nullable=False)
price = db.Column(db.Integer, nullable=False)
description = db.Column(db.Text)
status = db.Column(db.Boolean, default=True)
picture =???
And:
@app.route('/add_product', methods=['POST', 'GET'])
def create():
if request.method == 'POST':
title = request.form['title']
price = request.form['price']
description = request.form['description']
image = ?????
product = Product(title=title, price=price, description=description)
try:
db.session.add(product)
db.session.commit()
return redirect('/')
except:
return 'Error'
你的图像应该放在文件系统的某个地方,而不是数据库。您可以将其放入烧瓶静态目录并将其路径存储在数据库中。您的图片栏将变为:
picture = db.Column(db.String(254), nullable=True)
然后你接受像这样的图像:
if request.method == 'POST':
title = request.form['title']
price = request.form['price']
description = request.form['description']
# accept uploaded image
uploaded = request.files.get('image')
if uploaded and uploaded.filename:
filename = secure_filename(uploaded.filename)
uploaded_path = os.path.join(app.config['UPLOAD_FOLDER'], filename)
uploaded.save(path)
image = uploaded_path
Flask 文档中有更多示例:Uploading Files
卡在用户图像输入上,除图片外一切正常,但我不明白如何为 flask_sqlalchemy 创建图片对象,一直显示错误。 这个想法是用户输入的所有数据和图像和信息都将在主屏幕上可用。
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True) # auto +1
title = db.Column(db.String(20), nullable=False)
price = db.Column(db.Integer, nullable=False)
description = db.Column(db.Text)
status = db.Column(db.Boolean, default=True)
picture =???
And:
@app.route('/add_product', methods=['POST', 'GET'])
def create():
if request.method == 'POST':
title = request.form['title']
price = request.form['price']
description = request.form['description']
image = ?????
product = Product(title=title, price=price, description=description)
try:
db.session.add(product)
db.session.commit()
return redirect('/')
except:
return 'Error'
你的图像应该放在文件系统的某个地方,而不是数据库。您可以将其放入烧瓶静态目录并将其路径存储在数据库中。您的图片栏将变为:
picture = db.Column(db.String(254), nullable=True)
然后你接受像这样的图像:
if request.method == 'POST':
title = request.form['title']
price = request.form['price']
description = request.form['description']
# accept uploaded image
uploaded = request.files.get('image')
if uploaded and uploaded.filename:
filename = secure_filename(uploaded.filename)
uploaded_path = os.path.join(app.config['UPLOAD_FOLDER'], filename)
uploaded.save(path)
image = uploaded_path
Flask 文档中有更多示例:Uploading Files