Skip to content Skip to sidebar Skip to footer

What Is The Correct Way To Populate Fields From Database Or Session Data?

I'm storing some variables in the session when the user logs in, to use later to populate a field. from flask_wtf import Form from wtforms import SelectField from flask import sess

Solution 1:

Code in a class definition is executed at import time, not when the class is instantiated. You need to move the access to session to the __init__ method so that it will be accessed when creating a form in a view function.

class Institution(Form):
    organization = SelectField()

    def __init__(self, *args, **kwargs):
        self.organization.kwargs['choices'] = [(x, x) for x in session.get('city', ('not set',))]
        super().__init__(*args, **kwargs)

This applies to anything that needs an application or request context, such as a database query, not just the session.

Post a Comment for "What Is The Correct Way To Populate Fields From Database Or Session Data?"