Шаблон для трех таблиц на странице
Сделал шаблон для трех таблиц на странице
This commit is contained in:
@@ -42,14 +42,12 @@ def get_orders_by_date(dt):
|
|||||||
order_list = Order.objects.filter(date=dt).order_by('id')
|
order_list = Order.objects.filter(date=dt).order_by('id')
|
||||||
return order_list
|
return order_list
|
||||||
|
|
||||||
@login_required
|
def get_attendance_table(year, month, prefix):
|
||||||
def visit_view(request):
|
day_in_month = calendar.monthrange(year,month)[1]
|
||||||
curr_date = datetime.strptime(request.GET.get('date', date.today().strftime('%d.%m.%Y')), '%d.%m.%Y')
|
sdate = date(year,month,1)
|
||||||
y,m = curr_date.year, curr_date.month
|
edate = date(year,month,day_in_month)
|
||||||
day_in_month = calendar.monthrange(y,m)[1]
|
|
||||||
month_days = {i+1: {'date': custom_date(y,m,i+1)} for i in range(day_in_month)}
|
month_days = {i+1: {'date': custom_date(year,month,i+1)} for i in range(day_in_month)}
|
||||||
sdate = date(y,m,1)
|
|
||||||
edate = date(y,m,day_in_month)
|
|
||||||
|
|
||||||
attend_list = Attendance.objects.filter(date__range = (sdate,edate))
|
attend_list = Attendance.objects.filter(date__range = (sdate,edate))
|
||||||
attend_sum = attend_list.aggregate(Sum('calls'), Sum('visits'))
|
attend_sum = attend_list.aggregate(Sum('calls'), Sum('visits'))
|
||||||
@@ -61,8 +59,6 @@ def visit_view(request):
|
|||||||
order_list = order_list.values('date')
|
order_list = order_list.values('date')
|
||||||
order_list = order_list.annotate(Count('product'), Sum('price'))
|
order_list = order_list.annotate(Count('product'), Sum('price'))
|
||||||
|
|
||||||
print order_sum
|
|
||||||
|
|
||||||
for order in order_list:
|
for order in order_list:
|
||||||
month_days[order['date'].day]['order'] = order
|
month_days[order['date'].day]['order'] = order
|
||||||
|
|
||||||
@@ -75,16 +71,28 @@ def visit_view(request):
|
|||||||
else:
|
else:
|
||||||
month_days[day]['designer'] = designer
|
month_days[day]['designer'] = designer
|
||||||
|
|
||||||
table = VisitTable(month_days.values())
|
table = VisitTable(month_days.values(), prefix = prefix)
|
||||||
RequestConfig(request, paginate={'per_page': 32}).configure(table)
|
table.verbose_name = 'Сводная информация'
|
||||||
table.set_summaries({
|
table.set_summaries({
|
||||||
'calls': attend_sum['calls__sum'],
|
'calls': attend_sum['calls__sum'],
|
||||||
'visits': attend_sum['visits__sum'],
|
'visits': attend_sum['visits__sum'],
|
||||||
'orders': order_sum['product__count'],
|
'orders': order_sum['product__count'],
|
||||||
'cost': order_sum['price__sum'],
|
'cost': order_sum['price__sum'],
|
||||||
})
|
})
|
||||||
|
|
||||||
|
return table
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def visit_view(request):
|
||||||
|
curr_date = datetime.strptime(request.GET.get('date', date.today().strftime('%d.%m.%Y')), '%d.%m.%Y')
|
||||||
|
attendance_table = get_attendance_table(curr_date.year, curr_date.month, 'attendance-')
|
||||||
|
RequestConfig(request, paginate={'per_page': 32}).configure(attendance_table)
|
||||||
title = 'Таблица посещаемости на %s г.' % curr_date.strftime('%B %Y')
|
title = 'Таблица посещаемости на %s г.' % curr_date.strftime('%B %Y')
|
||||||
return render(request, 'asuzr/table.html', {'table': table, 'title': title})
|
return render(request, 'asuzr/table3.html', {
|
||||||
|
'table1': attendance_table,
|
||||||
|
'table2': attendance_table,
|
||||||
|
'table3': attendance_table,
|
||||||
|
'title': title})
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def main(request, day, month, year):
|
def main(request, day, month, year):
|
||||||
|
|||||||
@@ -29,6 +29,9 @@
|
|||||||
table.paleblue tr.weekend {
|
table.paleblue tr.weekend {
|
||||||
background-color: #FFE4E1
|
background-color: #FFE4E1
|
||||||
}
|
}
|
||||||
|
.inline {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
10
templates/asuzr/table3.html
Normal file
10
templates/asuzr/table3.html
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{% extends "asuzr/base.html" %}
|
||||||
|
{% load inplace_edit %}
|
||||||
|
{% load render_table from django_tables2 %}
|
||||||
|
|
||||||
|
{% block page %}
|
||||||
|
<div class="inline"><div><h3>{{ table1.verbose_name }}</h3></div>{% render_table table1 %}</div>
|
||||||
|
<div class="inline"><div><h3>{{ table2.verbose_name }}</h3></div>{% render_table table2 %}</div>
|
||||||
|
<div><hr><div><h3>{{ table3.verbose_name }}</h3></div>{% render_table table3 %}</div>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
@@ -56,5 +56,8 @@
|
|||||||
{% endnospaceless %}
|
{% endnospaceless %}
|
||||||
</table>
|
</table>
|
||||||
{% endblock table %}
|
{% endblock table %}
|
||||||
|
{% if table.page %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% endspaceless %}
|
{% endspaceless %}
|
||||||
|
|||||||
Reference in New Issue
Block a user