我想在Django网站返回的所有回复中添加一些标题.有没有办法做到这一点(除了向render函数添加包装器)?

推荐答案

是的,你应该看看middlewares.

yourapp/middleware.py

class MyMiddleware:

    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        response = self.get_response(request)
        response['X-My-Header'] = "my value"
        return response

yourproject/settings.py

MIDDLEWARE = [
    ...,
    'yourapp.middleware.MyMiddleware',
    ...,
]

Django相关问答推荐

如何在Django中更改模型字段名称?

如何在管理页面创建实例时只在ManyToManyField字段中显示超级用户

DRF中是否有有效的更新有序数据的算法?

Django ORM Groupby

Django:作为模型中的列表元素的字段

如何在Django模板中获取组中对象的整体计数器(&Q;)?

当使用django-tinymce时,我在哪里指定referer?

身份验证有效,但登录无效.一直卡在pending

包含资源时,DRF 返回我的软删除记录

"" 需要有字段 "id" 的值才能使用这种多对多关系

Django - 将 HTML 输出转换为变量

Django 在模型中存储用户图像

Django InlineModelAdmin:部分显示内联模型并链接到完整模型

Django:无法从另一个应用程序导入模型

django 用一个提交按钮提交两种不同的表单

如何在不使用 sudo 的情况下安装 virtualenv?

如何运行克隆的 Django 元素?

我的 django 模型 DateField 如何将 30 天添加到提供的值?

如何在django中生成临时文件然后销毁

django 如何知道已经运行了哪些迁移?