I am using Flask to build a very small one-page dynamic website. I want to share a list of variables and their values across functions without using a class.
I looked into Flask's View
class, however I feel as if my application isn't large enough nor complex enough to implement a class-based version of my project using Flask. If I'm stating correctly I would also lose the ability to use the route
decorator and would have to use its surrogate function add_url_rule
.
Which would also force me to refactor my code into something such as this:
from flask.views import View
class ShowUsers(View):
def dispatch_request(self):
users = User.query.all()
return render_template('users.html', objects=users)
app.add_url_rule('/users/', view_func=ShowUsers.as_view('show_users'))
For variable sharing I thought of two techniques.
x = "" def foo(): global x x = request.form["fizz"] def bar(): # do something with x (readable) print(x) def baz(): return someMadeupFunction(x)
def foo(): x = request.form["fizz"] qux(someValue) def qux(i): menu = { key0: bar, key1: baz, } menu[i](x) def bar(x): # do something with x (readable) print(x) def baz(x): return someMadeupFunction(x)