我有一个表单(在烧瓶中完成),其中输入文本和图像数据。我很困惑应该将提取图像文件名的函数放在何处以及如何放置,然后将数据转储到sqlite数据库中。我已经包括了相关的片段。 主文件:
@app.route('/dform', methods=['GET', 'POST'])
def dform():
form = DForm()
return render_template('dform.html', form=form)
@app.route('/adddf', methods=['POST'])
def add_dfentry():
g.db.execute('insert into dfentries (name, cover) values (?, ?)',
(request.form['name'], request.form['cover']))
@app.route('/dfoutput')
def dfoutput():
cur = g.db.execute('select name, cover from dfentries order by id desc')
dfentries = cur.fetchall()
return render_template('dfoutput.html', dfentries=dfentries)
表单文件:
^{pr2}$那么,如何从上面的文件字段中获取文件名,并将其存储到(并从中检索)数据库?谢谢你的帮助,并为这个可能愚蠢的问题道歉。我用这个程序来学习python。在
在Flask中,上传的内容存储在}。基本上,您将查看
request.files
,而不是{file.filename
并将其作为blob读入表中。在有关详细信息,请参见http://flask.pocoo.org/docs/patterns/fileuploads/。在
不要忘记所有的安全和验证考虑。在
既然您可能正在使用
WTForms
,请参阅http://wtforms.simplecodes.com/docs/0.6/fields.html#wtforms.fields.FileField,它教您如何通过表单实际处理它。在这也适用于您的提交,如果您使用表单,您不应该直接访问
request
对象。如果您使用的是Flask-WTF
,请使用form.validate_on_submit()
,如果您使用的是普通表单,请使用request.method == 'POST' and form.validate()
。在在http://wtforms.simplecodes.com/docs/1.0.1/crash_course.html或https://flask-wtf.readthedocs.org/en/latest/quickstart.html阅读正确的用法
相关问题 更多 >
编程相关推荐