2

私はこのエラーに遭遇しました

「関数」オブジェクトには属性がありません「has_header」

私のURLファイルは続きます

 url(r'^HighDefs/$', list_HighDefs),

そして私は名前で定義されたビューを持っています

list_HighDefs

ビューファイルで。何が悪いのかわかりません。

ビューには次のものが含まれます

def list_HighDefs(request):
user_logger = Logger()
user_logger.log_stack()


if user_object:
    email = user_object.email
    uname = user_object.first_name+' '+user_object.last_name

    try:
        row = allapps_models.highdef.objects.filter(user_email=email, show_status=1)


    except Exception:

         return error_page(request)

    highdefs = []

    for m in row:
        order_product = int(m.m_id)
        state = m.state

        try:
            category = checkout_models.state.objects.get(pk=product).premature.category.all()
            category = category[0].pk
        except:

            category = 0


        if int(category) == 2:
            if state != 's':
                highdefs.append(m)


    return render_to_response('main/HighDefs.html',{'request': request, 'highdefs': highdefs, 'uname' :uname, 'email': email}, context_instance=RequestContext(request))

else:
    return(login)
4

2 に答える 2

5

ビューはHttpResponseオブジェクトを返す必要があります。

これは、ifステートメントの1つのブランチに対して行われます。

return render_to_response(...)

しかし、elseブランチにはありません。

return(login)

loginがオブジェクトを返すビュー関数の場合HttpResponse、returnステートメントを次のように変更できます。

return login(request)

ただし、代わりにユーザーをログインページにリダイレクトしたいと思います。その場合は、コードを次のように変更します。

from django.http import HttpResponseRedirect
return HttpResponseRedirect('/login/')

/login/ログインページのURLはどこにありますか。

于 2012-09-20T00:07:56.810 に答える
4

ビューの最後の行は次のとおりですreturn login(なぜリターンを括弧で囲んでいるのかわからないので、不要です)。しかし、おそらくloginそれは関数であり、あなたはそれを呼んでいません。私はあなたがするつもりreturn login()か、またはを期待しますreturn login(request)

于 2012-09-19T22:12:16.533 に答える