回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>所以我把这个db.model放在Flask中的sqlite数据库中。看起来是这样的:</p>
<pre><code>class Drink(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(64), index = True)
kind = db.Column(db.String(64), index = True)
image = db.Column(db.LargeBinary)
def __init__(self, name, kind, image):
self.name = name
self.kind = kind
self.image = image
def __repr__(self):
return '<Drink %r>' % self.name
</code></pre>
<p>所以,这个问题是,我有一个专栏,图片,这将是一个实际的图片,但我不知道在烧瓶代码中使用什么数据类型。</p>
<p>这是烧瓶代码:
<strong>烧瓶</strong></p>
<pre><code>class DrinkAPI(Resource):
def __init__(self):
self.reqparse = reqparse.RequestParser()
self.reqparse.add_argument('name', type = str, required = True, help = 'No name title provided', location = 'json')
self.reqparse.add_argument('type', type = str, required = True, help='No type provided', location = 'json')
self.reqparse.add_argument('image', type = blob, required = True, help='No image provided', location = 'json')
super(DrinkAPI, self).__init__()
def get(self, id):
if checkDrink(id):
info = getDrinkInfo(id)
return {'id': id, 'name': info[0], 'type':info[1], 'image': info[2]}
abort(404)
def put(self, id):
if checkDrink(id):
args = self.reqparse.parse_args()
deleteDrink(id)
drink = Drink(args['name'], args['type'], args['image'])
addDrink(drink)
return {'drink' : marshal(drink, drink_fields)}, 201
abort(404)
def delete(self, id):
deleteDrink(id)
return { 'result': True}
</code></pre>
<p>看看我在哪里将<code>reqparse</code>的<code>image</code>类型设置为<code>blob</code>?这甚至不是一个真正的数据类型,但我不知道放在那里什么。我需要对<code>fields.Raw</code>进行子类划分吗?有什么想法吗?谢谢</p>
<hr/>
<p><strong>问题的新方法</p>
<p>根据一些评论,似乎我应该将图像存储在静态文件夹中。我能做到。但是我该如何用我的数据库引用它呢?它是对应于<code>.jpg</code>文件的字符串吗?</p>