[Flask] Usage of session and g variables

Kyle Lawlor klawlor419 at gmail.com
Mon Sep 21 19:39:31 CEST 2015


Thanks for the reference. It looks like it could be a very useful tool. I
will consider re-writing things and using that as well. Do you have or know
of any examples using satchless with Flask?

My original questions still stand, looking forward to more responses.

On Mon, Sep 21, 2015 at 1:11 PM, Corey Boyle <coreybrett at gmail.com> wrote:

> I can't answer your question directly, but maybe you could get some
> inspiration from this.
> http://satchless.com/
>
> On Mon, Sep 21, 2015 at 12:39 PM, Kyle Lawlor <klawlor419 at gmail.com>
> wrote:
> > Hi, all.
> >
> >
> > I am currently in the process of designing a website for a friends
> > restaurant. I am planning to deploy the website through Heroku. I am just
> > hoping to keep the costs down for my friend and learn a few things.
> >
> > I want to create a portion of the website that can be used for online
> > checkout. I aiming for something similar to any ordering application,
> i.e.
> > grubhub. I have some of the website together, I will post a link to its
> git
> > repository below.
> >
> > One thing I have been struggling to understand with Flask is the use of
> > session variables and global (g) variables. My purpose is to create a
> > shopping cart, where I can store what a user wants to order.
> >
> > So far I have tried creating a standard python array and a variable
> within
> > the view function for the orders page. This is in principle to store
> which
> > items the user selects and to store the total price. The items selected
> and
> > the total price are then rendered appropriately. The obvious problem with
> > this method is that the objects are cleared after each request. So the
> item
> > selected and the total price only reflects the previous request.
> >
> > One way to get around this is to create a global variable outside of the
> > route for a given view function. I believe this is incorrect because it
> > stores the data even after I go elsewhere on the site.
> >
> > Creating session variables or global variables for that matter and then
> > updating them as selections are made seems to have the same issue as
> using
> > python storage variables within the view function. Please see these links
> > for the view function I am talking about.
> >
> > Declaration of variables (using the g object in this case):
> >
> https://github.com/callmeskywalker/casa-sabor/blob/master/app/main/views.py#L40
> > Here is where I look for the user to add an item, and attempt to store
> the
> > data:
> >
> https://github.com/callmeskywalker/casa-sabor/blob/master/app/main/views.py#L97
> >
> > I am at point now where I am not sure that the usage of session and g
> > variables are what I am trying to use them for. I wonder if this is now a
> > case where using a database is the technically correct/better thing to
> do.
> >
> > My questions are:
> > Is my use of global variables problematic?
> > Is there a way to use session and/or g for this purpose?
> > Am I better off using a database for storing this data?
> >
> > Please keep in mind I brand new to using flask and web development in
> > general. I look forward to hearing back to any responses. Feel free to
> cover
> > basics of web development, because I am sure that I am missing some.
> >
> > If anyone is interested or wants to see the website in action, here is
> the
> > entire git repository:
> > https://github.com/callmeskywalker/casa-sabor
> >
> >
> > Thanks, Kyle
> >
> > _______________________________________________
> > Flask mailing list
> > Flask at python.org
> > https://mail.python.org/mailman/listinfo/flask
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/flask/attachments/20150921/7245f872/attachment-0001.html>


More information about the Flask mailing list