Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from flask import *
- from flask_wtf import Form
- from wtforms import StringField, PasswordField,BooleanField,IntegerField,RadioField,SubmitField,TextField,SelectField
- from flask.ext.bcrypt import Bcrypt
- from wtforms.validators import InputRequired, Length, AnyOf,Email,DataRequired
- from flask_sqlalchemy import SQLAlchemy
- import os
- from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user
- STATIC_FOLDER = os.path.join(os.path.dirname(__file__), "static")
- app = Flask(__name__, static_url_path="/static", static_folder=STATIC_FOLDER)
- app.config['SECRET_KEY'] = 'Thisisasecret!'
- app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://alaanajmi:Alaa123123123123123Najmi@localhost/aywm'
- app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
- bcrypt = Bcrypt(app)
- db = SQLAlchemy(app)
- class Users(UserMixin,db.Model):
- __tablename__ = 'users'
- id = db.Column(db.Integer, primary_key=True)
- username = db.Column(db.String(250))
- password = db.Column(db.String(250))
- prepassword = db.Column(db.String(250))
- first_name = db.Column(db.String(250))
- last_name = db.Column(db.String(250))
- email = db.Column(db.String(250))
- phone = db.Column(db.INTEGER)
- gender = db.Column(db.String(250))
- nationality = db.Column(db.String(250))
- membership = db.Column(db.String(250))
- token_id = db.Column(db.String(250))
- image = db.Column(db.String(250))
- created_at = db.Column(db.String(250))
- updated_at = db.Column(db.String(250))
- description = db.Column(db.String(250))
- level = db.Column(db.String(250))
- class LoginForm(Form):
- username = StringField('username', validators=[InputRequired('A username is required!'),
- Length(min=5, max=10, message='Must be between 5 and 10 characters.')])
- password = PasswordField('password', validators=[InputRequired('Password is required!'), AnyOf(values=['password', 'secret']),
- Length(min=5, max=10,message='Must be between 5 and 10 characters.')])
- nationality = SelectField('nationality')
- submit = SubmitField("login")
- @app.route('/', methods=['GET', 'POST'])
- def form():
- form = LoginForm(request.form)
- if request.method == "POST":
- user = Users.query.filter_by(username=form.username.data).first()
- if user:
- session['username'] = form.username.data
- session['userid'] = user.id
- session['level'] = user.level
- session['memm'] = user.membership
- session['token'] = user.token_id
- if bcrypt.check_password_hash(user.password, form.password.data):
- return redirect(url_for("dashboard"))
- return render_template("form.html", form=form)
- return render_template("form.html", form=form)
- return render_template("form.html", form=form)
- @app.route('/dashboard')
- def dashboard():
- print(session)
- print(session['userid'])
- return session['username']
- if __name__ == '__main__':
- app.run(port=5187,debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement