Guest User

Untitled

a guest
Mar 18th, 2018
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. @app.route('/log', methods=['GET', 'POST'])
  2. def log():
  3. if current_user.is_authenticated:
  4. return redirect(url_for('view'))
  5. form=Form(request.form)
  6. error=None
  7. if request.method == 'POST' and form.validate():
  8. femail = request.form['email']
  9. password=request.form['password']
  10. user = User.query.filter_by(email=femail).first()
  11. if user is None or not user.check_password(password):
  12. error = 'Invalid username or password.'
  13. flash(error)
  14. return redirect(url_for('log'))
  15. login_user(user)
  16. return redirect(url_for('view'))
  17. return render_template('login.html', error=error, form=form)
  18.  
  19. class User(db.Model,UserMixin):
  20. __tablename__="user"
  21. id = db.Column(db.Integer, primary_key=True)
  22. email = db.Column(db.String(255), unique=True)
  23. password = db.Column(db.String(255))
  24. confirmed_at = db.Column(db.DateTime())
  25. roles = db.relationship(
  26. 'Role',
  27. secondary=roles_users,
  28. backref=db.backref('user', lazy='dynamic')
  29. )
  30. posts = db.relationship('Post', backref='author', lazy='dynamic')
  31.  
  32.  
  33. def set_password(self, password):
  34. self.password_hash = generate_password_hash(password)
  35.  
  36. def check_password(self, password):
  37. return check_password_hash(self.password_hash, password)
  38.  
  39. def is_authenticated(self):
  40. return True
  41.  
  42. <form action="" method="post" role="form">
  43. {{ form.csrf }}
  44. <div class="login">
  45. <div class="login-screen">
  46. <div class="app-title">
  47. <h1>Login</h1>
  48. </div>
  49. <div class="login-form">
  50.  
  51. <div class="control-group">
  52. <input type="text" class="login-field" value="" placeholder="email" name="email">
  53. <label class="login-field-icon fui-user" for="login-name"></label>
  54. </div>
  55.  
  56. <div class="control-group">
  57. <input type="password" class="login-field" value="" placeholder="password" name="password">
  58. <label class="login-field-icon fui-lock" for="login-pass"></label>
  59. </div>
  60.  
  61. <input type="submit" value="Log in" class="btn btn-primary btn-large btn-block" >
  62.  
  63. {% if error %}
  64. <p><strong>Error:</strong> {{ error }}
  65. {% endif %}
  66. <br>
  67. </div>
  68. </div>
  69. </div>
Add Comment
Please, Sign In to add comment