python - Django 在速记渲染方法中添加自定义 header

要添加 CORS 设置,我可以在特定函数上执行类似这样的操作:

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)

我将如何更新渲染响应中的一些 header ?

最佳答案

render() 方法将给定的 template 与给定的 context dictionary 结合起来,并返回一个 HttpResponse 对象呈现的文本。引用here .

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

你的 View 函数应该是

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

https://stackoverflow.com/questions/66997233/

相关文章:

python - 替代全局变量

java - 使用 java Supplier 接口(interface)创建条件对象

r - 如何根据在ggplot中分配的概率对单词重新排序

r - 错误延迟加载包 'devtools' 失败

reactjs - Eslint错误: Do not nest ternary expression

flutter - 解决依赖关系 : pub finished with exit code 1

javascript - 使用 JavaScript 中的动态属性对数组中的所有对象项求和

java - 将 java.util.function.Function 定义为 static fi

angular - 类型 'null' 的参数不可分配给参数 Angular

java - 使用 Java Streams 返回单词出现的句子计数和列表