Hi I don't see any session initializer , please try with that session = web.session.Session(app,store,initializer={'login': 0,'privilege': 0,'username':'Guest','logged_in':False})
Regards Rajesh On Thu, Sep 28, 2017 at 3:35 PM, peter <peterrisle...@gmail.com> wrote: > I am on chapter 10 of headfirst python second edition. got most of the > prior codes to work but am stuck on this one. I will add the > simple_webapp.py which is a decorator enabled and checker.py which is the > decorator. when I go into 127.0.0.1:5000 and enter I get the correct > response. 127.0.0.1:5000/page1 gets me 'you are not logged in' also > correct. > > '127.0.0.1:5000/login' returns 'you are now logged in' which is correct > but '127.0.0.1:5000/page1' after that should return 'this is page 1' but > instead returns 'you are not logged in'. > > When I login to page 1 the 'session['logged_in'] = True' should still be > true but apparently it has not been passed to 'check_logged_in'. > > I am stumped and do not know how to proceed to figure this out. > > Here are the codes > > Also they are attached to this email. I am hoping someone can show me the > errors of my ways. hopefully it is something simple but I have gone over it > a lot and think the code is correct. > > Thank you for your attention and help. > > Peter Risley > > checker.py > > from flask import session > from functools import wraps > > def check_logged_in(func): > @wraps(func) > def wrapper(*args, **kwargs): > if 'logged _in' in session: > return func(*args, **kwargs) > return 'You are not logged in.' > return wrapper > > simple_webapp.py > > from flask import Flask, session > from checker import check_logged_in > > """this 'simple_webapp.py' , which pulls all of chp 10 code together. When > you need to restrict access to specific URLs, base your strategy on this > webapp's mechanism. > This uses checker.py check_logged_in and which is a decorator function to > do the work.""" > > > > app = Flask(__name__) > > @app.route('/') > def hello() -> str: > return 'Hello from the simple webapp.' > > > @app.route('/page1') > @check_logged_in > def page1(): > return 'this is page 1.' > > @app.route('/page2') > @check_logged_in > def page2(): > return 'this is page 2.' > > @app.route('/page3') > @check_logged_in > def page3(): > return 'this is page 3.' > > > @app.route('/login') > def do_login() -> str: > session['logged_in'] = True > return 'you are now logged in.' > > > @app.route('/logout') > def do_logout() -> str: > session.pop('logged_in') > return 'you are now logged out.' > > app.secret_key = 'yes' > > if __name__ == '__main__': > app.run(debug=True) > > > > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > https://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor