0

我正在关注 Django 教程,但我的一个观点遇到了问题。查看 django 的错误输出时,它告诉我第 62 行有错误:

yr = datetime.datetime(year, 1, 1)     months = 12

这是整个视图:

def year(request):
    #http://site_name/year/
    post_error = ""
    year = int(year)
    yr = datetime.datetime(year, 1, 1)     months = 12
    by_month = []
    if Post.objects.filter(published__year=year).count():
    if year == datetime.datetime.now().year:
        months = datetime.datetime.now().month
    for month in range(1, months+1):
        by_month.append({datetime.datetime(year, month, 1):

    Post.objects.filter(published__month=month).filter(published__year=year)})
    elif year > datetime.datetime.now().year:
    post_error = "It is not yet %d, try an earlier year." % year
    else:
    post_error = "There are not posts for %d." % year
    return render_to_response('year.html', {'by_month':by_month, 'post_error':post_error,},)

如果您需要我未提供的更多信息,请告诉我。谢谢!-克里斯

4

3 回答 3

1

您在函数调用和 var 声明之间缺少换行符:

year = int(year)
yr = datetime.datetime(year, 1, 1)
months = 12
by_month = []
于 2012-10-13T16:50:50.337 回答
1
   yr = datetime.datetime(year, 1, 1)     months = 12

一个错误:上一行中的缩进错误!将“months=12”声明移到下一行

于 2012-10-13T16:51:54.417 回答
0

您在一行上有两个语句;这是一个语法错误。将它们放在两个单独的行上:

yr = datetime.datetime(year, 1, 1)
months = 12

;从技术上讲,您还可以使用分号连接多个语句,但通常不鼓励这样做。

于 2012-10-13T16:50:46.467 回答