Team Ai
Apppublic

chnmayp/Pizza_Price_Prediction_Using_Machine_Learning

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
app.py124 linesDownload Raw Back to root
1from flask import Flask, request, render_template, redirect, url_for2from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user3from flask_mysqldb import MySQL 4from flask_bcrypt import Bcrypt5from model import Pizza_Sales_Model6import numpy as np7 8 9app = Flask(__name__)10 11app.secret_key = "494949asdfghjklzxcvbnm"12 13app.config['MYSQL_HOST'] = 'localhost'14app.config['MYSQL_USER'] = 'root'15app.config['MYSQL_PASSWORD'] = 'root'16app.config['MYSQL_DB'] = 'pizza_db'17 18mysql = MySQL(app)19login_manage = LoginManager()20login_manage.init_app(app)21bcrypt = Bcrypt(app)22 23# User Loader function24@login_manage.user_loader25def load_user(user_id):26    return User.get(user_id)27 28class User(UserMixin):29    def __init__(self, user_id, name,email):30        self.id = user_id31        self.name = name32        self.email = email33 34    @staticmethod35    def get(user_id):36        cursor = mysql.connection.cursor()37        cursor.execute('SELECT name, email from user where id =%s', (user_id,))38        result = cursor.fetchone()39        cursor.close()40        if result:41            return User(user_id, result[0], result[1])42 43# @app.route('/')44# def index():45#     return "Home Page"46 47# @app.route('/login', methods = ['GET','POST'])48@app.route('/', methods = ['GET','POST'])49def login():50    if request.method == 'POST':51       52        email = request.form['email']53        password = request.form['password']54 55        cursor = mysql.connection.cursor()56        cursor.execute('SELECT id,name,email, password from user where email =%s', (email,))57        user_data = cursor.fetchone()58        cursor.close()59 60        if user_data and bcrypt.check_password_hash(user_data[3], password):61            user = User(user_data[0],user_data[1],user_data[2])62            login_user(user)63            return redirect(url_for('dashboard'))64 65       66    return render_template('login.html')67 68 69@app.route('/logout', methods=['POST'])70def logout():71    logout_user()72    return redirect(url_for('login'))73 74 75 76 77@app.route('/register', methods = ['GET','POST'])78def register():79    # return "register Page"80    if request.method == 'POST':81 82        name = request.form['name']83        email = request.form['email']84        password = request.form['password']85 86        hashed_password = bcrypt.generate_password_hash(password).decode('utf-8')87 88        cursor = mysql.connection.cursor()89        cursor.execute('INSERT INTO user (name,email,password) values(%s,%s,%s)',(name, email, hashed_password))90        mysql.connection.commit()91        cursor.close()92        return redirect(url_for('login'))93        # return request.form['name']94        # pass95    return render_template('register.html')96 97@app.route('/dashboard')98# @login_required99def dashboard():100    return render_template('form.html')101 102@app.route('/Predict', methods = ['POST'])103# @login_required104def form():105    data1 = request.form['order_id']106    data2 = request.form['pizza_id']107    data3 = request.form['quantity']108    data4 = request.form['pizza_type_id']109    data5 = request.form['name']110    data6 = request.form['category']111    data7 = request.form['ingredients']112    data8 = request.form['size']113    data9 = request.form['weekday']114    115    arr = np.array([data1,data2,data3,data4,data5,data6,data7,data8,data9])116 117    print(Pizza_Sales_Model.give_prediction(arr))118 119    return str(Pizza_Sales_Model.give_prediction(arr)[0])120 121 122if __name__ == '__main__':123    # app.run(debug=True)124    pass