【发布时间】:2020-02-26 08:38:46
【问题描述】:
我寻求帮助,我正在尝试将 TextAreaField 和 FileField 结合在一起,但我不知道该怎么做。更简单的说法是我可以发布文本、图像或视频。
这是我的 PostForm
class PostForm(FlaskForm):
title = StringField('Title', validators=[DataRequired()])
content = TextAreaField('Content', validators=[DataRequired()])
submit = SubmitField('Post')
这是我的发帖路线
@posts.route('/post/new', methods=['GET', 'POST'])
@login_required
def new_post():
form = PostForm()
if form.validate_on_submit():
post = Post(title=form.title.data,
content=form.content.data,
author=current_user)
db.session.add(post)
db.session.commit()
flash('Your new post has been created!', 'success')
return redirect(url_for('main.updates'))
return render_template('create_post.html', title='New Post',
form=form, legend="New Post")
@posts.route('/post/<int:post_id>')
def post(post_id):
post = Post.query.get_or_404(post_id)
return render_template('post.html', title=post.title,
post=post)
这是我的帖子模板
<form class="form-signin" method="POST" action=""
enctype="multipart/form-data">
<legend class="border-bottom mb-4"> {{ legend }} </legend>
{{ form.hidden_tag() }}
<div class="form-group">
{{ form.title.label(class="form-control-label") }}
{% if form.title.errors %}
{{ form.title(class="form-control form-control-lg is-invalid") }}
<div class="invalid-feedback">
{% for error in form.title.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.title(class="form-control form-control-lg") }}
{% endif %}
</div>
<div class="form-group">
{{ form.content.label(class="form-control-label") }}
{% if form.content.errors %}
{{ form.content(class="form-control form-control-lg is-invalid")
}}
<div class="invalid-feedback">
{% for error in form.content.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.content(class="form-control form-control-lg", id='editor')
}}
{% endif %}
</div>
<div class="form-group">
{{ form.submit(class="btn btn-outline-info") }}
</div>
</form>
请您向我展示/指导我如何将 TextAreaField 与 FileField 组合在一起,以便我可以以一种形式发布文本、图像或视频。提前致谢
【问题讨论】:
-
请发布您的相关代码而不是图片。
-
是的,我只是更新哈哈
标签: python flask jinja2 flask-sqlalchemy flask-wtforms