def selectcategory(): mytoken = session.get('mytoken') form = PeriodForm() if form.validate_on_submit(): session['inicio'] = form.inicio.data session['fim'] = form.fim.data flash(f'Período selecionado com sucesso!', 'success') return redirect(url_for('loginpostgis', mytoken=session['mytoken'])) else: flash( 'Camada inválida. Selecione uma camada de pontos válida do Survey.', 'danger') return render_template('selectcategory.html', title='SelectCategory', mytoken=mytoken, form=form)
def statistics(request): """ тип графика название графика массив название массив данных подпись по x подпись по y """ chart_type = 'column' chart_title = u'Название графика' row_title = u'Параметр' y_title = u'Ось Y' statistics = request.GET.get('statistics', 'requests') catalogs = ZCatalog.objects.all() start_date = datetime.datetime.now() end_date = datetime.datetime.now() date_group = u'2' # группировка по дням attributes = [] period_form = PeriodForm() group_form = GroupForm() attributes_form = AttributesForm() catalog_form = ZCatalogForm() if request.method == 'POST': period_form = PeriodForm(request.POST) group_form = GroupForm(request.POST) attributes_form = AttributesForm(request.POST) catalog_form = ZCatalogForm(request.POST) if period_form.is_valid(): start_date = period_form.cleaned_data['start_date'] end_date = period_form.cleaned_data['end_date'] if group_form.is_valid(): date_group = group_form.cleaned_data['group'] if attributes_form.is_valid(): attributes = attributes_form.cleaned_data['attributes'] if catalog_form.is_valid(): catalogs = catalog_form.cleaned_data['catalogs'] if statistics == 'requests': attributes_form = None rows = requests_count(start_date=start_date, end_date=end_date, group=date_group, catalogs=catalogs) chart_title = u'Число поисковых запросов по дате' row_title = u'Число поисковых запросов' y_title = u'Число поисковых запросов' elif statistics == 'attributes': group_form = None rows = requests_by_attributes(start_date=start_date, end_date=end_date, attributes=attributes, catalogs=catalogs) chart_title = u'Число поисковых запросов по поисковым атрибутам' row_title = u'Число поисковых запросов' y_title = u'Число поисковых запросов' chart_type = 'bar' elif statistics == 'terms': group_form = None rows = requests_by_term(start_date=start_date, end_date=end_date, attributes=attributes, catalogs=catalogs) chart_title = u'Число поисковых запросов по фразам' row_title = u'Число поисковых запросов' y_title = u'Число поисковых запросов' chart_type = 'bar' else: return HttpResponse(u'Неправильный тип статистики') data_rows = json.dumps(rows, ensure_ascii=False) return render( request, 'zgate/administration/zcatalog_statistics.html', { 'data_rows': data_rows, 'catalog_form': catalog_form, 'period_form': period_form, 'group_form': group_form, 'attributes_form': attributes_form, 'chart_type': chart_type, 'chart_title': chart_title, 'y_title': y_title, 'row_title': row_title, 'active_module': 'zgate' })