Django“视图没有返回一个HttpResponse对象。” [英] Django "view didn't return an HttpResponse object."

查看:125
本文介绍了Django“视图没有返回一个HttpResponse对象。”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

when i call runDelete, then it will call run, so why "view didn't return an HttpResponse object" happen?

谢谢:)

views.py



thanks:)

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)


推荐答案

Django视图预计返回 HttpResponse 对象。您的观点调用 运行,但不返回任何东西(请记住,Python函数返回没有在没有明确返回别的语句的情况下)。所以更改这一行:

Django views are expected to return HttpResponse objects. Your view does call run but it does not return anything (remember that Python functions return None in the absence of a statement explicitly returning something else). So change this line from:

run(request, build)

to:

return run(request, build)

当然这只有在运行返回 HttpResponse 实例。

Of course this will only work if run returns an HttpResponse instance.

这篇关于Django“视图没有返回一个HttpResponse对象。”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆