Lection 2.
This commit is contained in:
parent
7b1862cfba
commit
95d877a4e1
@ -1,62 +1,28 @@
|
||||
from flask import Flask, redirect, url_for, request, render_template
|
||||
from LabWork01.FuncLoad import createDataFrame
|
||||
from flask import Flask, request, render_template
|
||||
import numpy as np
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
#сразу загружаем весь док, чтобы потом просто прыгать по нему
|
||||
listShops = createDataFrame()
|
||||
|
||||
#список типов данных по столбцам
|
||||
listTypes = listShops.dtypes.to_list()
|
||||
|
||||
#формируем записи о кол-ве пустых ячеек в каждом столбце
|
||||
countNull = listShops.isnull().sum()
|
||||
degree = 3
|
||||
|
||||
@app.route("/")
|
||||
def home():
|
||||
return render_template('main_page.html', context=[], listTypes=listTypes, countNull=countNull, firstColumn=1, secondColumn=4)
|
||||
return render_template('main_page.html')
|
||||
|
||||
@app.route("/showDiapason", methods=['GET','POST'])
|
||||
@app.route("/calculateCube", 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]
|
||||
#проверка на int или float
|
||||
if data['number']:
|
||||
if data['number'].isdigit():
|
||||
result = np.power(int(data['number']), degree)
|
||||
else:
|
||||
result = np.power(float(data['number']), degree)
|
||||
|
||||
_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()
|
||||
return render_template('main_page.html', context=result)
|
||||
else:
|
||||
return render_template('main_page.html')
|
||||
|
||||
if __name__=="__main__":
|
||||
app.run(debug=True)
|
||||
|
@ -2,7 +2,7 @@
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Список магазинов</title>
|
||||
<title>Ответ на вторую лекцию</title>
|
||||
<style>
|
||||
.head {
|
||||
background: #fc3;
|
||||
@ -13,41 +13,13 @@
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<form action='http://127.0.0.1:5000/showDiapason' method=get>
|
||||
<input type=text size=20 name=firstRow>
|
||||
<input type=text size=20 name=secondRow>
|
||||
<input type=text size=20 name=firstColumn>
|
||||
<input type=text size=20 name=secondColumn>
|
||||
<input type=submit value='Вывод диапазона'>
|
||||
<form action='http://127.0.0.1:5000/calculateCube' method=get>
|
||||
<input type=text size=20 name=number>
|
||||
<input type=submit value='Узнать куб'>
|
||||
</form>
|
||||
</div>
|
||||
<div>
|
||||
<table>
|
||||
<tr>
|
||||
{{ countNull }}
|
||||
</tr>
|
||||
<tr>
|
||||
{% if firstColumn == 1 %}
|
||||
<th class="head">Площадь магазина, кв. м, {{ listTypes[1] }}</th>
|
||||
{% endif %}
|
||||
{% if firstColumn <= 2 and secondColumn >= 2 %}
|
||||
<th class="head">Кол-во продукции, шт, {{ listTypes[2] }}</th>
|
||||
{% endif %}
|
||||
{% if firstColumn <= 3 and secondColumn >= 3 %}
|
||||
<th class="head">Кол-во посетителей в день, чел., {{ listTypes[3] }}</th>
|
||||
{% endif %}
|
||||
{% if secondColumn == 4 %}
|
||||
<th class="head">Кол-во проданных товаров, шт., {{ listTypes[4] }}</th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% for i in range(secondRow - firstRow + 1) %}
|
||||
<tr>
|
||||
{% for elem in context %}
|
||||
<td> {{ elem[i] }} </td>
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
<input type=text size=20 name=answer value="{{ context }}">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user