0

Djangoチュートリアルに従っていますが、ビューの1つで問題が発生しました。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

1つのエラー:上記の行のインデントエラー!「months=12」宣言を次の行に移動します

于 2012-10-13T16:51:54.417 に答える
0

1行に2つのステートメントがあります。これは構文エラーです。それらを2つの別々の行に配置します。

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

;技術的には、セミコロンで複数のステートメントを結合することもできますが、それは一般的に推奨されていません。

于 2012-10-13T16:50:46.467 に答える