图片用提交文件的方式上传那怎样提交到数据库里呢
来源:5-6 网易新闻数据新增
oldbang
2018-04-20
def add(): form=NewsForm() if form.validate_on_submit(): new_obj=News( title = form.title.data, content = form.content.data, types=form.types.data, img=form.img.data ) db.session.add(new_obj) db.session.commit() return redirect(url_for('admin')) return render_template('admin/add.html',form=form)
是再到new_obj里再添加一个img_name或者img_url吗?
或者再写个对象new_db 里面保留new_obj前面几项仅对img修改只把图片的名字或者url存进数据库
下面就提交db.session.add(new_db)
页面是这样但是点提交没有任何反应 是否要要用flask_uploads实现
form:
class NewsForm(FlaskForm): title = StringField(label='新闻标题', validators=[DataRequired('请输入标题')], description="请输入标题", render_kw={"required":"required","class":"form-control"}) content = TextAreaField(label='新闻内容',validators=[DataRequired('请输入标题')], description='请输入内容', render_kw={"required":"required","class":"form-control"}) types=SelectField('新闻类型', choices=[('推荐', '推荐'), ('百家', '百家'), ('本地', '本地'), ('图片', '图片')], render_kw={'class': 'form-control'}) img=FileField(label='新闻图片',validators=[FileAllowed(['jpg','png'],'只能上传图片'), FileRequired('文件未选择')]) submit = SubmitField('提交')
写回答
1回答
-
NavCat
2018-04-20
贴一下你的form 代码,也可以参考这个:
https://flask-wtf.readthedocs.io/en/stable/form.html#module-flask_wtf.file
上传文件我们只会存储文件的存储路径到数据库,不会直接将文件存到数据库的,其他的像上传文档、上传视频也是一样的
012018-04-20
Python操作三大主流数据库-MySQL+MongoDB+Redis
一次实战同时掌握Python操作MySQL,MongoDB,Redis 三大数据库使用技巧
2024 学习 · 376 问题
相似问题