Advertisement
Guest User

back end

a guest
May 6th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. from flask import *
  2. from flask_wtf import Form
  3. from wtforms import StringField, PasswordField,BooleanField,IntegerField,RadioField,SubmitField,TextField,SelectField
  4. from flask.ext.bcrypt import Bcrypt
  5. from wtforms.validators import InputRequired, Length, AnyOf,Email,DataRequired
  6. from flask_sqlalchemy import SQLAlchemy
  7. import os
  8. from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user
  9. STATIC_FOLDER = os.path.join(os.path.dirname(__file__), "static")
  10. app = Flask(__name__, static_url_path="/static", static_folder=STATIC_FOLDER)
  11. app.config['SECRET_KEY'] = 'Thisisasecret!'
  12. app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://alaanajmi:Alaa123123123123123Najmi@localhost/aywm'
  13. app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
  14. bcrypt = Bcrypt(app)
  15. db = SQLAlchemy(app)
  16. class Users(UserMixin,db.Model):
  17. __tablename__ = 'users'
  18. id = db.Column(db.Integer, primary_key=True)
  19. username = db.Column(db.String(250))
  20. password = db.Column(db.String(250))
  21. prepassword = db.Column(db.String(250))
  22. first_name = db.Column(db.String(250))
  23. last_name = db.Column(db.String(250))
  24. email = db.Column(db.String(250))
  25. phone = db.Column(db.INTEGER)
  26. gender = db.Column(db.String(250))
  27. nationality = db.Column(db.String(250))
  28. membership = db.Column(db.String(250))
  29. token_id = db.Column(db.String(250))
  30. image = db.Column(db.String(250))
  31. created_at = db.Column(db.String(250))
  32. updated_at = db.Column(db.String(250))
  33. description = db.Column(db.String(250))
  34. level = db.Column(db.String(250))
  35.  
  36. class LoginForm(Form):
  37. username = StringField('username', validators=[InputRequired('A username is required!'),
  38. Length(min=5, max=10, message='Must be between 5 and 10 characters.')])
  39. password = PasswordField('password', validators=[InputRequired('Password is required!'), AnyOf(values=['password', 'secret']),
  40. Length(min=5, max=10,message='Must be between 5 and 10 characters.')])
  41. nationality = SelectField('nationality')
  42. submit = SubmitField("login")
  43. @app.route('/', methods=['GET', 'POST'])
  44. def form():
  45. form = LoginForm(request.form)
  46. if request.method == "POST":
  47. user = Users.query.filter_by(username=form.username.data).first()
  48. if user:
  49. session['username'] = form.username.data
  50. session['userid'] = user.id
  51. session['level'] = user.level
  52. session['memm'] = user.membership
  53. session['token'] = user.token_id
  54. if bcrypt.check_password_hash(user.password, form.password.data):
  55. return redirect(url_for("dashboard"))
  56. return render_template("form.html", form=form)
  57. return render_template("form.html", form=form)
  58. return render_template("form.html", form=form)
  59.  
  60.  
  61. @app.route('/dashboard')
  62. def dashboard():
  63. print(session)
  64. print(session['userid'])
  65. return session['username']
  66.  
  67.  
  68. if __name__ == '__main__':
  69. app.run(port=5187,debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement