コード例 #1
0
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)
コード例 #2
0
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'
        })