Python flask session not getting stored in generator function










1















I am streaming output to the frontend using a generator in one of my flask routes and storing a value in a session variable like this:



@bp.route('/stream', methods=['GET', 'POST'])
@login_required
def stream():
def generate():
if request.method == "POST":
...
...
# trying to store a variable to use in another function
session['testing'] = "testing"

return Response(stream_with_context(generate()), mimetype='text/html')


I want to use this variable in another function like this:



@bp.route('/other_func', methods=['GET', 'POST'])
def other_func():
...
...
# trying to recieve it here
testing = session.get('testing')

print(testing) # this value is 'None'


Any variable I store in the generator function results to None.



How can I get around this?










share|improve this question






















  • Do you have secret key set in your flask app config ?

    – Dinko Pehar
    Nov 16 '18 at 8:14







  • 1





    @DinkoPehar yes, it's in my init.py, this used to work before, after adding the generator function it stopped working, does the generator function somehow affect the session from being stored?

    – honeybadger_execute
    Nov 16 '18 at 10:17











  • what if you try session.permanent = True just before your session['testing'] = "testing" ?

    – Tobin
    Nov 16 '18 at 10:20











  • Are you sure that generate function is executing that part in if statement ? Part request.method == 'POST' ?

    – Dinko Pehar
    Nov 16 '18 at 11:10






  • 1





    @DinkoPehar I think that's what it is too, since the generator doesn't store the values and just iterates through it once, I believe my session is getting cleared out after the function is done. Trying to think of a way around this...

    – honeybadger_execute
    Nov 16 '18 at 18:37















1















I am streaming output to the frontend using a generator in one of my flask routes and storing a value in a session variable like this:



@bp.route('/stream', methods=['GET', 'POST'])
@login_required
def stream():
def generate():
if request.method == "POST":
...
...
# trying to store a variable to use in another function
session['testing'] = "testing"

return Response(stream_with_context(generate()), mimetype='text/html')


I want to use this variable in another function like this:



@bp.route('/other_func', methods=['GET', 'POST'])
def other_func():
...
...
# trying to recieve it here
testing = session.get('testing')

print(testing) # this value is 'None'


Any variable I store in the generator function results to None.



How can I get around this?










share|improve this question






















  • Do you have secret key set in your flask app config ?

    – Dinko Pehar
    Nov 16 '18 at 8:14







  • 1





    @DinkoPehar yes, it's in my init.py, this used to work before, after adding the generator function it stopped working, does the generator function somehow affect the session from being stored?

    – honeybadger_execute
    Nov 16 '18 at 10:17











  • what if you try session.permanent = True just before your session['testing'] = "testing" ?

    – Tobin
    Nov 16 '18 at 10:20











  • Are you sure that generate function is executing that part in if statement ? Part request.method == 'POST' ?

    – Dinko Pehar
    Nov 16 '18 at 11:10






  • 1





    @DinkoPehar I think that's what it is too, since the generator doesn't store the values and just iterates through it once, I believe my session is getting cleared out after the function is done. Trying to think of a way around this...

    – honeybadger_execute
    Nov 16 '18 at 18:37













1












1








1


1






I am streaming output to the frontend using a generator in one of my flask routes and storing a value in a session variable like this:



@bp.route('/stream', methods=['GET', 'POST'])
@login_required
def stream():
def generate():
if request.method == "POST":
...
...
# trying to store a variable to use in another function
session['testing'] = "testing"

return Response(stream_with_context(generate()), mimetype='text/html')


I want to use this variable in another function like this:



@bp.route('/other_func', methods=['GET', 'POST'])
def other_func():
...
...
# trying to recieve it here
testing = session.get('testing')

print(testing) # this value is 'None'


Any variable I store in the generator function results to None.



How can I get around this?










share|improve this question














I am streaming output to the frontend using a generator in one of my flask routes and storing a value in a session variable like this:



@bp.route('/stream', methods=['GET', 'POST'])
@login_required
def stream():
def generate():
if request.method == "POST":
...
...
# trying to store a variable to use in another function
session['testing'] = "testing"

return Response(stream_with_context(generate()), mimetype='text/html')


I want to use this variable in another function like this:



@bp.route('/other_func', methods=['GET', 'POST'])
def other_func():
...
...
# trying to recieve it here
testing = session.get('testing')

print(testing) # this value is 'None'


Any variable I store in the generator function results to None.



How can I get around this?







python-3.x session flask






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 15 '18 at 22:40









honeybadger_executehoneybadger_execute

14411




14411












  • Do you have secret key set in your flask app config ?

    – Dinko Pehar
    Nov 16 '18 at 8:14







  • 1





    @DinkoPehar yes, it's in my init.py, this used to work before, after adding the generator function it stopped working, does the generator function somehow affect the session from being stored?

    – honeybadger_execute
    Nov 16 '18 at 10:17











  • what if you try session.permanent = True just before your session['testing'] = "testing" ?

    – Tobin
    Nov 16 '18 at 10:20











  • Are you sure that generate function is executing that part in if statement ? Part request.method == 'POST' ?

    – Dinko Pehar
    Nov 16 '18 at 11:10






  • 1





    @DinkoPehar I think that's what it is too, since the generator doesn't store the values and just iterates through it once, I believe my session is getting cleared out after the function is done. Trying to think of a way around this...

    – honeybadger_execute
    Nov 16 '18 at 18:37

















  • Do you have secret key set in your flask app config ?

    – Dinko Pehar
    Nov 16 '18 at 8:14







  • 1





    @DinkoPehar yes, it's in my init.py, this used to work before, after adding the generator function it stopped working, does the generator function somehow affect the session from being stored?

    – honeybadger_execute
    Nov 16 '18 at 10:17











  • what if you try session.permanent = True just before your session['testing'] = "testing" ?

    – Tobin
    Nov 16 '18 at 10:20











  • Are you sure that generate function is executing that part in if statement ? Part request.method == 'POST' ?

    – Dinko Pehar
    Nov 16 '18 at 11:10






  • 1





    @DinkoPehar I think that's what it is too, since the generator doesn't store the values and just iterates through it once, I believe my session is getting cleared out after the function is done. Trying to think of a way around this...

    – honeybadger_execute
    Nov 16 '18 at 18:37
















Do you have secret key set in your flask app config ?

– Dinko Pehar
Nov 16 '18 at 8:14






Do you have secret key set in your flask app config ?

– Dinko Pehar
Nov 16 '18 at 8:14





1




1





@DinkoPehar yes, it's in my init.py, this used to work before, after adding the generator function it stopped working, does the generator function somehow affect the session from being stored?

– honeybadger_execute
Nov 16 '18 at 10:17





@DinkoPehar yes, it's in my init.py, this used to work before, after adding the generator function it stopped working, does the generator function somehow affect the session from being stored?

– honeybadger_execute
Nov 16 '18 at 10:17













what if you try session.permanent = True just before your session['testing'] = "testing" ?

– Tobin
Nov 16 '18 at 10:20





what if you try session.permanent = True just before your session['testing'] = "testing" ?

– Tobin
Nov 16 '18 at 10:20













Are you sure that generate function is executing that part in if statement ? Part request.method == 'POST' ?

– Dinko Pehar
Nov 16 '18 at 11:10





Are you sure that generate function is executing that part in if statement ? Part request.method == 'POST' ?

– Dinko Pehar
Nov 16 '18 at 11:10




1




1





@DinkoPehar I think that's what it is too, since the generator doesn't store the values and just iterates through it once, I believe my session is getting cleared out after the function is done. Trying to think of a way around this...

– honeybadger_execute
Nov 16 '18 at 18:37





@DinkoPehar I think that's what it is too, since the generator doesn't store the values and just iterates through it once, I believe my session is getting cleared out after the function is done. Trying to think of a way around this...

– honeybadger_execute
Nov 16 '18 at 18:37












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53328887%2fpython-flask-session-not-getting-stored-in-generator-function%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53328887%2fpython-flask-session-not-getting-stored-in-generator-function%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Top Tejano songwriter Luis Silva dead of heart attack at 64

ReactJS Fetched API data displays live - need Data displayed static

Evgeni Malkin