def search(): print('--------search---------') result = request.form color_name = result['color_name'] db_class = dbModule.Database() sql = "SELECT Color, label_one, label_two \ FROM deepstick.products \ WHERE Color='" + color_name + "'" row = db_class.executeOne(sql) label_one = str(row['label_one']) label_two = str(int(row['label_two'])) sql = "SELECT Brand, Product, Color, Price, Image, colorpower, spread, keep, moisture, R, G, B \ FROM deepstick.products \ WHERE label_one='" + label_one + "' AND label_two='" + label_two +"'" row = db_class.executeAll(sql) CosSim = CosSimilarity.CosSimilarity(row) row = CosSim.get_recommendations(color_name) print('---------cosin----------') print(row) data =[] for i in range(0,7): data.append(dict(row.iloc[i])) print(data) return render_template('/product.html', resultData=data, size=len(data))
def single(data): print('----single----') db_class = dbModule.Database() sql = "SELECT Brand, Product, Color, Price, Image, R, G, B, colorpower, spread, keep, moisture \ FROM deepstick.products \ WHERE Color='" + data + "'" row = db_class.executeOne(sql) print("-----row-----",row) sql = "SELECT Brand, Color, remonth, Product, Review \ FROM deepstick.review \ WHERE Color='" + row['Color'] + "'" row_review = db_class.executeAll(sql) print('----row_review------',row_review) if row_review and row_review[0]['remonth'] is not None: review = pd.DataFrame(row_review) re_class = ReviewCount.ReviewCnt() re_class.draw(review, row['Color']) Countpath = '../static/images/'+row['Color']+'.png' WCpath = '../static/images/wordcloud/'+row['Product']+'.png' else: Countpath = False WCpath = False print("wcpath------", WCpath) return render_template('/single.html', resultData=row, resultFigPath=Countpath, resultWCPath=WCpath)
def register(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] error = None print('----username: '******'Password is required.' elif db_class.execute( # execute query and return first row # fetchone은 query의 하나의 row를 반환 "SELECT id FROM user WHERE username='******'") is not None: print('-----------row-------- : ', row) error = 'User {} is already registered.'.format(username) if error is None: print('-----------sql execute--------') db_class.execute( 'INSERT INTO user (username, password) VALUES (%s,%s)', (username, generate_password_hash(password))) db_class.commit() return redirect(url_for('auth.login')) flash(error) return render_template('register.html')
def load_logged_in_user(): user_id = session.get('user_id') db_class = dbModule.Database() if user_id is None: g.user = None else: g.user = db_class.execute('SELECT * FROM user WHERE id = %s', (user_id))
def log(): userlog = Userlog.UserLog() db_class = dbModule.Database() recommend = userlog.recommend(session['user_id']) print(recommend) print("-------------사용자 추천--------") data = [] for color in recommend: sql = "SELECT Brand, Product, Color, Price, Image FROM deepstick.products WHERE Color='" + color + "'" row = db_class.executeOne(sql) if not row: continue data.append(row) return render_template('/user.html', resultData=data, size=len(data))
def login(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] db_class = dbModule.Database() error = None sql = "SELECT * FROM user WHERE username='******'" print(sql) user = db_class.executeOne(sql) if user is None: error = 'Incorrect username.' elif not check_password_hash(user['password'], password): error = 'Incorrect password.' if error is None: session.clear() session['user_id'] = user['id'] return redirect(url_for('index')) flash(error) return render_template('login.html')