/ new-watch-hour-graph /的IndexError

时间:2018-10-15 06:58:01

标签: python-3.x

def getNewWatchedCountGraph(requests):
    data = Video.getNewWatchedCountGraph(requests)
    data = json.loads(data)
    # print(data)
    x = []
    m = []
    bg = {}
    res = {}
    monthnumbers = []

    currentMonth = datetime.datetime.now().month
    for item in data:
        seconds = int(item['count'])
        x.append(seconds)
        mydate = datetime.datetime.strptime(item['_id'], "%Y-%m")
        monthnumbers.append(mydate.month)
        m.append(mydate.strftime("%B"))

    startMonths = monthnumbers[0] #line 116
    endMonths = currentMonth+1

    data = []
    mon = []

    for months in range(startMonths,endMonths):
        if months not in monthnumbers:
            mon.append(calendar.month_name[months])
            data.append(0)
        else:
            mon.append(calendar.month_name[months])
            monthIndex = monthnumbers.index(months)
            data.append(x[monthIndex])


    res['series_name'] = "Views"
    res['series'] = list(data)
    res['xdata'] = list(mon)

    restrn_response = dumps(res)
    return HttpResponse(restrn_response)

我做了这个功能来显示总观看次数的图表。 在我的本地服务器上工作正常。但是在第116行的主服务器中显示列表索引超出范围。我在哪里做错了?

1 个答案:

答案 0 :(得分:0)

发生这种情况是因为monthnumbers为空。考虑到它在data上进行迭代时已被填充,我认为循环甚至没有开始,因为data为空。