Software Development

Find out how to retailer username and password in Flask

Find out how to retailer username and password in Flask
Written by admin


from flask import *

from flask_mysqldb import MySQL

import MySQLdb.cursors

import re

  

app = Flask(__name__)

app.secret_key = 'GeeksForGeeks'

  

app.config['MYSQL_HOST'] = 'localhost'

app.config['MYSQL_USER'] = 'root'

app.config['MYSQL_PASSWORD'] = ''

app.config['MYSQL_DB'] = 'user-table'

  

mysql = MySQL(app)

  

  

@app.route('/')

@app.route('/login', strategies=['GET', 'POST'])

def login():

    mesage = ''

    if request.technique == 'POST' and 'electronic mail' in

    request.kind and 'password' in request.kind:

        electronic mail = request.kind['email']

        password = request.kind['password']

        cursor = mysql.connection.cursor

                (MySQLdb.cursors.DictCursor)

        cursor.execute(

            'SELECT * FROM person WHERE electronic mail = % s AND password = % s',

                  (electronic mail, password, ))

        person = cursor.fetchone()

        if person:

            session['loggedin'] = True

            session['userid'] = person['userid']

            session['name'] = person['name']

            session['email'] = person['email']

            mesage = 'Logged in efficiently !'

            return render_template('person.html',

                                   mesage=mesage)

        else:

            mesage = 'Please enter appropriate electronic mail / password !'

    return render_template('login.html',

                           mesage=mesage)

  

  

@app.route('/logout')

def logout():

    session.pop('loggedin', None)

    session.pop('userid', None)

    session.pop('electronic mail', None)

    return redirect(url_for('login'))

  

  

@app.route('/register', strategies=['GET', 'POST'])

def register():

    mesage = ''

    if request.technique == 'POST' and 'title' in request.kind

            and 'password' in request.kind and 'electronic mail' in request.kind:

        userName = request.kind['name']

        password = request.kind['password']

        electronic mail = request.kind['email']

        cursor = mysql.connection.cursor(MySQLdb.cursors.DictCursor)

        cursor.execute('SELECT * FROM person WHERE electronic mail = % s', (electronic mail, ))

        account = cursor.fetchone()

        if account:

            mesage = 'Account already exists !'

        elif not re.match(r'[^@]+@[^@]+.[^@]+', electronic mail):

            mesage = 'Invalid electronic mail deal with !'

        elif not userName or not password or not electronic mail:

            mesage = 'Please fill out the shape !'

        else:

            cursor.execute(

                'INSERT INTO person VALUES (NULL, % s, % s, % s)'

                      (userName, electronic mail, password ))

            mysql.connection.commit()

            mesage = 'You may have efficiently registered !'

    elif request.technique == 'POST':

        mesage = 'Please fill out the shape !'

    return render_template('register.html', mesage=mesage)

  

  

if __name__ == "__main__":

    app.run(debug=True)

About the author

admin

Leave a Comment