2010-08-20 102 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例如,這隻會工作。

相關問題