我遇到了这个错误
'function'对象没有属性'has_header'
my url file contans
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)
答案 0 :(得分:5)
您的观点必须返回HttpResponse
个对象。
它为if
语句的一个分支执行此操作:
return render_to_response(...)
但不在else
分支。
return(login)
如果login
是一个返回HttpResponse
对象的视图函数,那么您可以将return语句更改为
return login(request)
但是,我怀疑您想要将用户重定向到您的登录页面。在这种情况下,请将您的代码更改为:
from django.http import HttpResponseRedirect
return HttpResponseRedirect('/login/')
其中/login/
是您登录页面的网址。
答案 1 :(得分:4)
你的观点的最后一行是return login
(不知道你为什么把你的回报包装在括号中,这是不必要的)。但大概login
是一个函数,你不是在调用它。我希望您的意思是return login()
或return login(request)
。