chnmayp/Pizza_Price_Prediction_Using_Machine_Learning
0
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