What is the correct way to serve/access media files in Flask

Solution
import os
from flask import Flask
from flask import render_template, request, send_from_directory
from flask_sqlalchemy import SQLAlchemy
from flask_file_upload.file_upload import FileUpload


app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = os.path.join(app.root_path, 'media')
app.config['ALLOWED_EXTENSIONS'] = ['jpg', 'png']
app.config['MAX_CONTENT_LENGTH'] = 1000 * 1024 * 1024  # 1000mb
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.sqlite'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db = SQLAlchemy(app)
file_upload = FileUpload(app, db)

@file_upload.Model
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    image = file_upload.Column()

    @property
    def image_url(self):
        return f'{self.__tablename__}/{self.id}/{self.image__file_name}'

with app.app_context():
    db.drop_all()
    db.create_all()

@app.route('/create', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        my_img = request.files['my-img']
        post = Post()
        file_upload.save_files(post, files={ 'image': my_img })
        db.session.add(post)
        db.session.commit()
    posts = Post.query.all()
    return render_template('create.html', **locals())

@app.route('/media/')
def media(filename):
    return send_from_directory(
        app.config['UPLOAD_FOLDER'],
        filename,
        as_attachment=True
    )


  
    
    
  
  
    
{% for post in posts %} {% endfor %}