As @meshkati pointed out, there are different solutions to this.
What works for me is the following:
in my __init__.py
file that contains the create_app()
I also load the data that I need below the header, e.g.:
site_data = {}
site_data['categories'] = json.load(open(os.path.join('app', 'sitedata', 'science_categories.json')))
Then, whenever I need this data in the app, I include a from app import site_data
in that file, e.g. the views file(s). This way, the data is loaded when I start the app and is accessible in the backend independent of any request.
But this means that the data is not updated while the app is running. So when you really need something like the current users stored in your database, you should query them regularly (+ maybe cache them if you do not want to query them too often)