Guest User

Untitled

a guest
Apr 24th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. from flask_login import LoginManager,
  2. UserMixin, login_user, login_required,
  3. logout_user, current_user
  4.  
  5. class User(Base, UserMixin):
  6. __tablename__ = 'user'
  7. id = Column(Integer, primary_key=True)
  8. username = Column(String(32), index=True)
  9. hash_password = Column(String(80))
  10.  
  11. def is_authenticated(self):
  12. return True
  13.  
  14. def is_active(self):
  15. return True
  16.  
  17. def is_anonymous(self):
  18. return False
  19.  
  20. def get_id(self):
  21. return unicode(self.id)
  22.  
  23. def __repr__(self):
  24. return '<User %r>' % (self.username)
  25.  
  26. @property
  27. def serializable(self):
  28. return {'id': self.id, 'username': self.username}
  29.  
  30. app = Flask(__name__)
  31. bootstrap = Bootstrap(app)
  32. login_manager = LoginManager()
  33. login_manager.init_app(app)
  34. login_manager.login_view = 'login'
  35.  
  36. @app.route('/login/', methods=['GET', 'POST'])
  37. def showLogin():
  38. form = LoginForm()
  39. if form.validate_on_submit():
  40.  
  41. user = session.query(User).filter_by(username=form.username.data).first()
  42.  
  43. if user is not None:
  44.  
  45. if check_password_hash(user.hash_password, form.password.data):
  46. login_session['username'] = user.username
  47. login_session['user_id'] = user.id
  48. login_user(user)
  49.  
  50. flash('Your Are Now Logged In')
  51. return redirect(url_for('showCatalog'))
  52. else:
  53. flash('Username Or Password Invalid')
  54. return redirect(url_for('showLogin'))
  55.  
  56. return render_template('login.html', form=form)
  57.  
  58. @login_manager.user_loader
  59. def load_user(user_id):
  60. return User.get_id(user_id)
  61.  
  62. File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1997, in
  63. __call__
  64. return self.wsgi_app(environ, start_response)
  65. File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1985, in
  66. wsgi_app
  67. response = self.handle_exception(e)
  68. File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1540, in
  69. handle_exception
  70. reraise(exc_type, exc_value, tb)
  71. File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1982, in
  72. wsgi_app
  73. response = self.full_dispatch_request()
  74. File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1614, in
  75. full_dispatch_request
  76. rv = self.handle_user_exception(e)
  77. File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1517, in
  78. handle_user_exception
  79. reraise(exc_type, exc_value, tb)
  80. File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1612, in
  81. full_dispatch_request
  82. rv = self.dispatch_request()
  83. File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1598, in
  84. dispatch_request
  85. return self.view_functions[rule.endpoint](**req.view_args)
  86. File "/usr/local/lib/python2.7/dist-packages/flask_login/utils.py", line
  87. 259, in decorated_view
  88. elif not current_user.is_authenticated:
  89. File "/usr/local/lib/python2.7/dist-packages/werkzeug/local.py", line 347,
  90. in __getattr__
  91. return getattr(self._get_current_object(), name)
  92. File "/usr/local/lib/python2.7/dist-packages/werkzeug/local.py", line 306,
  93. in _get_current_object
  94. return self.__local()
  95. File "/usr/local/lib/python2.7/dist-packages/flask_login/utils.py", line 26,
  96. in <lambda>
  97. current_user = LocalProxy(lambda: _get_user())
  98. File "/usr/local/lib/python2.7/dist-packages/flask_login/utils.py", line
  99. 335, in _get_user
  100. current_app.login_manager._load_user()
  101. File "/usr/local/lib/python2.7/dist-packages/flask_login/login_manager.py",
  102. line 359, in _load_user
  103. Open an interactive python shell in this framereturn self.reload_user()
  104. File "/usr/local/lib/python2.7/dist-packages/flask_login/login_manager.py",
  105. line 321, in reload_user
  106. user = self.user_callback(user_id)
  107. File "/vagrant/finalproject/webserver.py", line 193, in load_user
  108. return User.get_id(user_id)
  109. TypeError: unbound method get_id() must be called with User instance as
  110. first argument (got int instance instead)
Add Comment
Please, Sign In to add comment