Python 通过烧瓶上传介质

Python 通过烧瓶上传介质,python,flask,Python,Flask,我是一个暑假回家的学生,正在创建一个应用程序,我被卡住了。我不知道通过我的post表单传递图像时要使用哪个字段。它是否只是一个在我的操作系统上引用图像的StringField,并在我的sqlite3数据库上使用相同的字符串?我会使用相同的引用通过jinja在html中显示它吗?一切正常,当我提交带有图像的帖子时没有调试器屏幕,但是图像没有加载到数据库 路线如下: 模型如下: 这是有问题的表格。。。 FileField绝对是图像的更好选择 下面我们来举一个例子,这个例子对你所要完成的任务非常有帮助

我是一个暑假回家的学生,正在创建一个应用程序,我被卡住了。我不知道通过我的post表单传递图像时要使用哪个字段。它是否只是一个在我的操作系统上引用图像的StringField,并在我的sqlite3数据库上使用相同的字符串?我会使用相同的引用通过jinja在html中显示它吗?一切正常,当我提交带有图像的帖子时没有调试器屏幕,但是图像没有加载到数据库

路线如下: 模型如下: 这是有问题的表格。。。
FileField
绝对是图像的更好选择

下面我们来举一个例子,这个例子对你所要完成的任务非常有帮助

@posts.route("/post/new", methods=['GET', 'POST']) 
@login_required 
def new_post(): 
    if request.method == 'POST': 
        photo = request.files.get('photo') 
        content = request.form.get('content' if not (photo and content): 
            flash('You must fill in all the fields', 'caution') 
    elif: 
         try: 
             filename = uploaded_photos.save(photo) 
         except UploadNotAllowed: 
             flash('Upload type unpermitted', 'danger') 
    else: 
        post = Post(content=content, filename=filename) 
        db.session.add(post) 
        db.session.commit() 
        flash('Your post has been created!', 'success') 
        return redirect(url_for('main.home')) 
    return render_template('create_post.html', title='Create Post',form=form, 
    legend='Create Post') 
class Post(SearchableMixin, db.Model):
    __searchable__ = ['content']
    id = db.Column(db.Integer, primary_key=True)
    date_posted = db.Column(db.DateTime, nullable=False, 
    default=datetime.utcnow)
    content = db.Column(db.Text, nullable=False)
    # photo = ?
    # video = ?
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"Post('{self.content}', '{self.date_posted}')"
from flask_wtf import FlaskForm 
from wtforms import StringField, SubmitField, TextAreaField 
from wtforms.validators import DataRequired

class PostForm(FlaskForm): 
    content = TextAreaField('Content', validators=[DataRequired()]) 
    submit = SubmitField('Post') 
    # photo = ?
    # video = ?