Skip to content

勘误:第3章 P50 关于 middleware 的 process_template_response描述疑似有误 #52

@GalphaXie

Description

@GalphaXie

version : Django==1.11.29

原文描述:

执行完上述方法, 并且Django帮我们执行完view, 拿到最终的 response 后, 如果使用了模板的 response (这里指通过 return render(request, 'index.html', context={}) 方式返回的 response), 就会来到这个方法中.

实际测试后发现:

def index(request):
    students = Student.get_all()
    form = StudentForm()
    context = {
        "students": students,
        "form": form,
    }

    return render(request, 'index.html', context=context)
    # return TemplateResponse(request, "index.html", context=context)
  1. 执行上述代码, 只会进入middleware的 process_response 方法;
  2. 执行 return TemplateResponse(request, "index.html", context=context) 而非 return render(request, 'index.html', context=context) 才会进入 process_template_response 方法中

这是我的发现, 欢迎大家指出我过程中是否存在问题导致和 书籍 中 描述的结论不符.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions