Guest User

Untitled

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