分享
三行代码  ›  专栏  ›  技术社区  ›  David542

Django在速记呈现方法中添加自定义头

  •  0
  • David542  · 技术社区  · 1 周前

    def clear(request):
        # ... something
        response = HttpResponse('OK')
        response["Access-Control-Allow-Origin"] = "*"
        return response
    

    但是,我很难将其添加到缩写形式中 render 方法:

    def function(request):
        # how to modify the response header here?
        return render(request, 'page.html', data)
    

    如何更新渲染响应中的某些标头?

    2 回复  |  直到 1 周前
        1
  •  1
  •   Kishore    1 周前

    render() 方法将给定的 template 用给定的 context dictionary 并返回 HttpResponse 对象与该渲染文本。参考 here

    您可以将render函数的结果存储在一个名为response的变量中,然后像平常一样为其设置cookies。

    您的视图函数应该是

    def function(request):
        response = render(request, 'page.html', data)
        response["Access-Control-Allow-Origin"] = "*"
        return response
    
        2
  •  1
  •   David542    1 周前

    render HttpResponse 对象:

    将给定的模板与给定的上下文字典组合,并返回 对象与该渲染文本。

    所以你可以做和上面一样的事情 对象:

    def function(request):
        response = render(request, 'page.html', data)
        response["Access-Control-Allow-Origin"] = "*"
        return response