Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from flask import Flask, render_template, redirect, json, request, url_for, jsonify
- from flask.ext.sqlalchemy import SQLAlchemy
- from werkzeug import generate_password_hash, check_password_hash
- from flask.ext.login import login_user , logout_user , current_user , login_required, session, flash
- import hashlib
- app = Flask(__name__)
- db = SQLAlchemy(app)
- class Users(db.Model):
- __tablename__ = 'tbl_user'
- user_id = db.Column(db.Integer, primary_key = True)
- user_name = db.Column(db.String(150))
- user_username = db.Column(db.String(150))
- user_password = db.Column(db.String(150))
- def hash_pw(self, passwd):
- passwd = hashlib.sha256(passwd.encode()).hexdigest()
- return passwd
- @app.route('/')
- def index():
- if 'username' in session:
- username = session['username']
- return redirect(url_for('dashBoard'))
- else:
- return render_template('index.html')
- @app.route('/dashBoard')
- def dashBoard():
- return render_template('dashboard.html')
- @app.route('/showLogin')
- def showLogin():
- return render_template('login.html')
- @app.route('/showRegister')
- def showRegister():
- return render_template('register.html')
- @app.route('/login', methods=['POST'])
- def login():
- _username = request.form['username']
- _password = request.form['password']
- try:
- if Users.query.filter_by(user_name=_username).first() is None:
- return redirect(url_for('showLogin'))
- else:
- que = Users.query.filter_by(user_name=_username).first()
- if que.user_password == que.hash_pw(_password):
- session['username'] = _username
- else:
- return redirect(url_for('showLogin'))
- #else:
- #return jsonify({'error':'errorrrrrrrrrrrrr'})
- return redirect(url_for('dashBoard'))
- except Exception as e:
- return jsonify({'message': str(e)})
- #login_user(registered_user, remember = remember_me)
- @app.route('/logout')
- def logout():
- session.pop('username', None)
- return redirect(url_for('index'))
- @app.route('/register', methods=['POST', 'GET'])
- def register():
- try:
- if request.method == 'POST':
- _name = request.form['inputName']
- _email = request.form['inputEmail']
- _password = request.form['inputPassword']
- # validate the received values
- if _name and _email and _password:
- # All Good, let's call MySQL
- qq = Users()
- _hashed_password = qq.hash_pw(_password)
- usr = Users(user_name=_name, user_username=_email, user_password=_hashed_password)
- try:
- db.session.add(usr)
- db.session.commit()
- return redirect(url_for('showLogin'))
- except Exception as e:
- return json.dumps({'error':str(e)})
- else:
- return json.dumps({'html':'<span>Enter the required fields</span>'})
- if request.method == 'GET':
- _name = request.form['inputName']
- _email = request.form['inputEmail']
- _password = request.form['inputPassword']
- # validate the received values
- if _name and _email and _password:
- # All Good, let's call MySQL
- _hashed_password = generate_password_hash(_password)
- usr = Users(user_name=_name, user_username=_email, user_password=_hashed_password)
- try:
- db.session.add(usr)
- db.session.commit()
- return redirect(url_for('login'))
- except Exception as e:
- return json.dumps({'error':str(e)})
- else:
- return json.dumps({'html':'<span>Enter the required fields</span>'})
- except Exception as e:
- return json.dumps({'error':str(e)})
- print str(e)
- if __name__ == "__main__":
- app.config.from_object('config')
- app.run(port=80)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement