以下代码是某个项目中的一部分,无法直接使用。

1、需要有一个试图返回数据据(数据API)

def dataYear(request):
    """
       统计所有数据的界面, 生成年份标签
    """
    year = request.GET['year']
    table_type = request.GET['table']
    cursor = connections['stats'].cursor()

    provinceSql = "SELECT DISTINCT province FROM YEAR_DATA_QUALITY_VIEW WHERE table_type='crawlerapp_results_history'"
    cursor.execute(provinceSql)
    company_year_records = cursor.fetchall()
    provinces_list = []
    for company_year_record in company_year_records:
        provinces_list.append(company_year_record[0])

    detail_info = {}

    # 创建月份的统计数据视图
    for province in provinces_list:
        detail_info[province] = {}
        yearSql = "SELECT syear, province, records_count FROM YEAR_DATA_QUALITY_VIEW WHERE table_type='%s' AND province='%s' AND syear='%s' ORDER BY syear" % (
            table_type, province, year)
        cursor.execute(yearSql)
        company_year_records = cursor.fetchall()
        if len(company_year_records) > 0:
            detail_info[province]['year'] = company_year_records[0][0]
            detail_info[province]['province'] = company_year_records[0][1]
            detail_info[province]['year_total'] = company_year_records[0][2]
        else:
            context = {'detail_info': {}}
            return HttpResponse(json.dumps(context))

        monthSql = "SELECT syear, province, month, records_count FROM month_results_view WHERE table_type='%s' AND province='%s' AND syear='%s' ORDER BY month" % (
            table_type, province, year)
        cursor.execute(monthSql)
        company_month_records = cursor.fetchall()
        # detail_info[province][''] = company_month_records[0][0] #年份
        # detail_info[province][''] = company_month_records[0][1] #省份
        # detail_info[province]['month_data'] ={}
        for init_month in range(1, 13):
            detail_info[province]['month' + str(init_month)] = '暂无数据'
        for month_data in company_month_records:
            # detail_info[province][month_data[2]] = month_data[2] #月份
            detail_info[province]['month' + str(month_data[2])] = month_data[3]  # 数据量

        baseInfoSql = "SELECT syear, company_count, monitor_count, monitor_info_count FROM COMPANY_BASE_INFO_VIEW WHERE province='%s' AND syear='%s' ORDER BY syear" % (
            province,year)
        cursor.execute(baseInfoSql)
        company_base_infos = cursor.fetchall()
        # detail_info[province]['base_info'] ={}
        detail_info[province]['base_year'] = company_base_infos[0][0]
        detail_info[province]['base_company_count'] = company_base_infos[0][1]
        detail_info[province]['base_monitor_count'] = company_base_infos[0][2]
        detail_info[province]['base_monitor_info_count'] = company_base_infos[0][3]

    context = {'detail_info': detail_info}
    # return render(request, 'test.html', context)
    print 'data year', '-'*50
    return HttpResponse(json.dumps(context))
View Code

相关文章: