from flask import Flask, redirect, url_for, request, render_template from LabWork01.FuncLoad import createDataFrame app = Flask(__name__) #сразу загружаем весь док, чтобы потом просто прыгать по нему listShops = createDataFrame() #список типов данных по столбцам listTypes = listShops.dtypes.to_list() #формируем записи о кол-ве пустых ячеек в каждом столбце countNull = listShops.isnull().sum() @app.route("/") def home(): return render_template('main_page.html', context=[], listTypes=listTypes, countNull=countNull, firstRow=1, secondRow=2, firstColumn=1, secondColumn=4) @app.route("/showDiapason", methods=['GET','POST']) def numtext(): data = request.args #получаем срез и таблицы по введёным параметрам newListShops = listShops.iloc[int(data['firstRow'])-1:int(data['secondRow']), int(data['firstColumn']):int(data['secondColumn'])+1] _range = range(int(data['firstColumn']), int(data['secondColumn'])+1) #список списков для шаблона totalList = [] print(countNull[1]) #формирование 4-х списков для шаблонизатора if 1 in _range: listStoreArea = newListShops['Store_Area'].to_list() totalList.append(listStoreArea) if 2 in _range: listItemsAvailable = newListShops['Items_Available'].to_list() totalList.append(listItemsAvailable) if 3 in _range: listDailyCustomerCount = newListShops['Daily_Customer_Count'].to_list() totalList.append(listDailyCustomerCount) if 4 in _range: listStoreSales = newListShops['Store_Sales'].to_list() totalList.append(listStoreSales) if int(data['firstRow']) and int(data['secondRow']) and int(data['firstColumn']) and int(data['secondColumn']): return render_template('main_page.html', context=totalList, listTypes=listTypes, countNull=countNull, firstColumn=int(data['firstColumn']), secondColumn=int(data['secondColumn']), firstRow=int(data['firstRow']), secondRow=int(data['secondRow'])) home() if __name__=="__main__": app.run(debug=True)