override_settings将完全更改存储在设置旁边的对象.也就是说,原始值将被销毁. modify_settings将修改现有对象.这可以通过获取append,prepend和remove参数来实现.您在文档中看到的对象不是MIDDLEWARE对象,它是在MIDDLEWARE对象上执行以修改它的步骤列表.例如,给定settings.py中定义的以下MIDDLEWARE:

MIDDLEWARE = [

'django.middleware.security.SecurityMiddleware',

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

]

如果您使用:

@modify_settings(MIDDLEWARE={

'append': 'django.middleware.cache.FetchFromCacheMiddleware',

'prepend': 'django.middleware.cache.UpdateCacheMiddleware',

'remove': [

'django.contrib.sessions.middleware.SessionMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

],

})

它产生最终设置:

MIDDLEWARE=[

'django.middleware.cache.UpdateCacheMiddleware',

'django.middleware.security.SecurityMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

'django.middleware.cache.FetchFromCacheMiddleware'

]

override_settings的相同结果将需要上面的整个结果对象.

这里的问题很明显.如果我们更改settings.py中的原始MIDDLEWARE设置,我们将不得不更新我们的测试.如果我们使用modify_settings,我们可能仍然会很好.

我同意这些文档并不清楚,因为它并没有真正说清楚’append’是一个特殊的关键字,例如.

python中modify是什么意思_python – Django中的override_settings和modify_settings有什么区别?...相关推荐

  1. python的目的及应用_python Django中的apps.py的目的是什么_python_脚本之家

    This question has been asked earlier: 07000 Application configuration objects store metadata for an ...

  2. python电商项目源码_Python Django(WEB电商项目构建)

    (坚持每一天,就是成功) Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,模板T和视图V组成. 安装Pyth ...

  3. python模型的属性是什么_python – Django:为什么Django模型字段的类属性?

    不,原因与此相同: >>> class Foo(object): ... bar = 'Foo attribute' ... >>> f = Foo() >& ...

  4. python写微信小程序商城_Python(Django 2.x)+Vue+Uniapp微信小程序商城开发视频教程

    重要的事儿说在前面: 这并非是一个基础课程,请没有相关技术基础知识的同学先学一下基础知识. 本次分享虽然使用Uni-app这个"开发一次,多端覆盖"的框架,但只会给大家分享演示&q ...

  5. python搭建个人博客推荐_Python+Django搭建个人博客(4)-Django模板

    模板演示 建立blog下templates文件夹 添加博客首页HTML 在templates文件夹中新建一个blog_index.html 在blog_index.html写简单的欢迎内容 我的博客- ...

  6. python中urframe函数的用法_python类中的内置函数

    __init__(): __init__方法在类的一个对象被建立时,马上运行.这个方法可以用来对你的对象做一些你希望的初始化.注意,这个名称的开始和结尾都是双下划线. 代码例子: #!/usr/bin ...

  7. python中subplot是什么意思_python matplotlib中的subplot函数使用详解

    python里面的matplotlib.pylot是大家比较常用的,功能也还不错的一个包.基本框架比较简单,但是做一个功能完善且比较好看整洁的图,免不了要网上查找一些函数.于是,为了节省时间,可以一劳 ...

  8. python中值滤波去除反光_Python 实现中值滤波、均值滤波的方法

    红包: Lena椒盐噪声图片: # -*- coding: utf-8 -*- """ Created on Sat Oct 14 22:16:47 2017 @auth ...

  9. python使用get和post方法_python爬虫中get和post方法介绍以及cookie作用

    首先确定你要爬取的目标网站的表单提交方式,可以通过开发者工具看到.这里推荐使用chrome. 这里我用163邮箱为例 打开工具后再Network中,在Name选中想要了解的网站,右侧headers里的 ...

最新文章

  1. Centos6.6下载
  2. Google的电话面试
  3. 哈佛大学单细胞课程|笔记汇总 (六)
  4. 学习前端开发必读书籍,拥有这几本武功秘籍,让你如有神助
  5. linux java heap space_Linux tomcat9 java.lang.OutOfMemoryError: Java heap space 解决方法
  6. 配置 Logback 异步 Appender 时注意顺序
  7. 【181202】VC 屏幕画笔程序源码源代码
  8. 饥荒联机版Mod开发——制作简单的物品(三)
  9. Tkinter登陆界面设计
  10. MMA-关于mathematica中添加注释的一些方法(包括排版技巧)
  11. 4层板和6层板的划分
  12. [LiteratureReview]A Collaborative Visual SLAM Framework for Service Robots
  13. 使用 ifconfig 查看本机 ip
  14. 陶哲轩实分析 命题7.2.9 绝对收敛判别法
  15. 数据库(单表查询与多表联查)
  16. 每天学命令get_pins
  17. JSOUP爬取4K高清壁纸
  18. 如何用Matlab画一个数学动态GIF
  19. 将表格数据转为JSON
  20. springboot的学习(2)

热门文章

  1. python js 效率_巧用 db.system.js 提升20% 开发效率
  2. IDEA发布运行web项目(曾经遇到的项目启动报404)
  3. 音频管理_人力资源管理师考试历年真题试卷+视频教程+音频讲义合集分享
  4. 第一阶段:Java基础之控制结构
  5. IIS+ASP+MySQL8.0+数据库连接解决方案(2019.7)
  6. exists hive中如何使用_HIVE使用基础
  7. 以文件形式导入大批量数据
  8. linux内核管理pagecache的一丢丢知识整理
  9. mongodb创建用户
  10. 操作系统【逻辑空间、物理空间与页表大小的关系】【分页地址映射(方法+例题)】