2010-08-20 106 views
14

当我打电话runDelete,那么它会调用运行,所以为什么“视图没有返回一个HttpResponse对象”发生?Django“视图没有返回HttpResponse对象。”

谢谢:)

views.py

def run(request, build): 
    run_list = [] 
    target_dict = {} 
    target_num = 0 
    build_id = 0 
    all_run_list = TestRun.objects.all().order_by('id') 
    for run in all_run_list: 
     build_version = run.build.version 
     build_number = run.build.number 
     run_build = build_version + '.' + build_number 
     if (build==run_build): 
      run_list.append(run) 
    return render_to_response('run.html', {'run_list': run_list}) 

def runDelete(request): 
    run_list = request.POST.getlist('var_delete') 
    build_id = request.POST.get('build_id') 
    for run2 in run_list: 
     run2 = int(run2) 
    build_id = int(build_id) 
    build_obj = Build.objects.get(id=build_id) 
    build_version = build_obj.version 
    build_number = build_obj.number 
    build = build_version + '.' + build_number 
    run(request, build) 

回答

24

Django的意见有望重返HttpResponse对象。你的观点确实如此调用run但它不返回任何东西(请记住,Python函数返回None在没有明确返回别的语句的情况下)。

run(request, build) 

到:所以从改变这一行

return run(request, build) 

当然,如果run返回HttpResponse例如,这只会工作。

相关问题