我应该把拉取和保存上传图像的文件名的必要功能放在哪里?如何在sqlite(在Flask中)引用它?

2024-09-27 20:15:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个表单(在烧瓶中完成),其中输入文本和图像数据。我很困惑应该将提取图像文件名的函数放在何处以及如何放置,然后将数据转储到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。在


Tags: 文件数据name图像form数据库app表单
1条回答
网友
1楼 · 发布于 2024-09-27 20:15:52

在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.htmlhttps://flask-wtf.readthedocs.org/en/latest/quickstart.html阅读正确的用法

相关问题 更多 >

    热门问题