2010-08-20 22 views
14

cuando llamo a runDelete, luego se ejecutará, entonces ¿por qué "ver no devolvió un objeto HttpResponse" sucede?Django "view no devolvió un objeto HttpResponse".

gracias :) Se espera que

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) 

Respuesta

24

las vistas de Django para volver HttpResponse objetos. Su vista hace llamadarun pero no devuelve nada (recuerde que las funciones de Python devuelven None en ausencia de una declaración que devuelva explícitamente algo más). Así que cambiar esta línea de:

run(request, build) 

a:

return run(request, build) 

Por supuesto, esto sólo funcionará si run devuelve una instancia HttpResponse.

Cuestiones relacionadas