首页 > 编程语言 >settings配置文件和源码

settings配置文件和源码

时间:2022-11-19 14:16:02浏览次数:72  
标签:配置文件 settings ## 中间件 django -- 源码 contrib SessionMiddleware

  • BASE_DIR :用来在项目中构建路径

  • SECRET_KEY :项目生成时候用的秘钥

  • DEBUG:调试模式,在写代码的时候打开,投入使用了就不用了

  • ALLOWED_HOSTS=['']:运行那些ip来进行访问,代表所有

  • APPEND_SLASH = True 是要不要在url后加/

  • 用来定义我们自己的APP应用

  • INSTALLED_APPS=[

  • 'django.contrib.admin',-- 管理员站点,

  • 'django.contrib.auth',-- 认证授权系统。

  • 'django.contrib.contenttypes',-- 内容类型框架。

  • 'django.contrib.sessions', -- 会话框架。

  • 'django.contrib.messages', -- 消息框架。

  • 'django.contrib.staticfiles',-- 管理静态文件的框架。

  • 'app_index', 自己定义的应用框架

  • ]

  • 各种中间件的注册

  • 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',

  • ]

  • 下面是关于各种 Django 中间件类的排序的一些提示:

    1. SecurityMiddleware
      如果你要开启 SSL 重定向,它应该排在列表的最前面,因为这样可以避免运行一堆其他不必要的中间件。
    2. UpdateCacheMiddleware
      在修改 Vary 头(SessionMiddleware、GZipMiddleware、LocaleMiddleware)之前。
    3. GZipMiddleware
      在任何可能改变或使用响应体的中间件之前。
      在 UpdateCacheMiddleware 之后:修改 Vary 头。
    4. SessionMiddleware
      在任何可能引发异常触发错误视图的中间件之前(如 PermissionDenied),如果你使用的是 CSRF_USE_SESSIONS
      在 UpdateCacheMiddleware 之后:修改 Vary 头。
    5. ConditionalGetMiddleware
      在任何可能改变响应的中间件之前(它设置 ETag 头)。
      在 GZipMiddleware 之后,这样它就不会在 gzip 压缩后的内容上计算 ETag 头。
    6. LocaleMiddleware
      最上面的一个,仅次于 SessionMiddleware (使用会话数据)和 UpdateCacheMiddleware (修改 Vary 头)。
    7. CommonMiddleware
      在任何可能改变响应的中间件之前(它设置 Content-Length 头)。出现在 CommonMiddleware 之前并改变响应的中间件必须重置 Content-Length。
      靠近顶部:当 APPEND_SLASHPREPEND_WWW 设置为 True 时,它会重定向。
      在 SessionMiddleware 之后,如果你使用 CSRF_USE_SESSIONS
    8. CsrfViewMiddleware
      在任何假设 CSRF 攻击已经被处理的视图中间件之前。
      RemoteUserMiddleware,或任何其他可能执行登录的认证中间件,从而旋转 CSRF 令牌,然后再向下调用中间件链。
      在 SessionMiddleware 之后,如果你使用 CSRF_USE_SESSIONS
    9. AuthenticationMiddleware
      SessionMiddleware 之后:使用会话存储。
    10. MessageMiddleware
      SessionMiddleware 之后:可以使用基于会话的存储。
    11. FetchFromCacheMiddleware
      在任何修改 Vary 头的中间件之后:该头用于为缓存哈希键选取一个值。
    12. FlatpageFallbackMiddleware
      应该是接近底部,因为这是一种最后的中间件。
    13. RedirectFallbackMiddleware
      应该是接近底部,因为这是一种最后的中间件。
  • ROOT_URLCONF:根目录地址

  • 这个是模板

  • TEMPLATES=[
    
        {
    
        'BACKEND':'django.template.backends.django.DjangoTemplates',
    
        'DIRS':[os.path.join(BASE_DIR,'templates')],要设置的
    
        'APP_DIRS':True,
    
        'OPTIONS':{
    
        'context_processors':[
    
            'django.template.context_processors.debug',
    
            'django.template.context_processors.request',
    
            'django.contrib.auth.context_processors.auth',
    
            'django.contrib.messages.context_processors.messages',
    
        ],
    
        },
    
        },
    
    ]
    
  • wsgi应用

  • WSGI_APPLICATION='tushuguan2.wsgi.application'

  • 数据库设置

  • ## DATABASES={
    
    ## 'default':{
    
    ## 'ENGINE':'django.db.backends.mysql',
    
    ## 'NAME':'book_db',
    
    ## 'USER':'root',
    
    ## 'PASSWORD':'123456',
    
    ## 'HOST':'localhost',
    
    ## 'PORT':'3306'
    
    ## }
    
    ## }
    
  • 语言

  • LANGUAGE_CODE='en-us'默认英文

  • 时区

  • TIME_ZONE='UTC'

  • 中文上海时区

  • LANGUAGE_CODE = 'zh-hans'

  • TIME_ZONE = 'Asia/shanghai'

  • 设置静态文件目录

  • ## STATIC_URL='/static/'
    
    ## STATICFILES_DIRS=[
    
    ## os.path.join(BASE_DIR,'static')
    
    ## ]
    

标签:配置文件,settings,##,中间件,django,--,源码,contrib,SessionMiddleware
From: https://www.cnblogs.com/xiaofubase/p/16906003.html

相关文章

  • redis配置文件详解
    redis配置文件详解1、开头说明这里没什么好说的,需要注意的是后面需要使用内存大小时,可以指定单位,通常是以k,gb,m的形式出现,并且单位不区分大小写。2、INCLUDE......
  • MySQL 源码解读之-语法解析(四)
    MySQL源码解读之-语法解析(四)在上篇文章中,我们分析了一条sql语句select*frombank;警告bison语法解析器(MYSQLparser函数)生成的AST树的结构,如下图所示:mysql需......
  • 微前端之四 • Single SPA 的源码实现
    深入了解一个库最好的办法是直接去看源代码,学习作者的设计模式、运行原理、代码风格等。并且动手跑起来,碰到不懂的地方打断点或者打印关键信息,一步一步去琢磨。很多流行库......
  • mybatis源码解析1
    一、mybatis的简单使用根据mybatis官网提供的例子,需要这么几个步骤1、获取mybatis配置文件的输入流对象2、创建SqlSessionFactoryBuilder对象3、调用SqlSessionFactor......
  • 数据库处理封装 GotDotNet.ApplicationBlocks.Data AdoHelper Dao 源码
    数据库处理封装GotDotNet.ApplicationBlocks.DataAdoHelperDao源码在GotDotNet.ApplicationBlocks.DataAdoHelper源码的基础上进行封装处理使调用更方便。支持所有常......
  • Seata 1.5.2 源码学习(Client端)
    在上一篇中通过阅读Seata服务端的代码,我们了解到TC是如何处理来自客户端的请求的,今天这一篇一起来了解一下客户端是如何处理TC发过来的请求的。要想搞清楚这一点,还得从Glob......
  • SpringBoot提供的三种配置文件格式
    1、application.properties(传统格式/默认格式)e.g.server.port=80 2、application.yml(主流格式、推荐使用)e.g.server:  port:81 3、application.yamle.g.ser......
  • k8s源码分析2-命令行工具cobra的使用
    本节重点介绍:kubectl的职责和kubectl的代码原理cobra库的使用简介kubectl的职责主要的工作是处理用户提交的东西(包括,命令行参数,yaml文件等)然后其会把用户提交......
  • 《STL 源码剖析》 deque 实现原理
    目录deque概述deque中控器deque迭代器和数据结构deque操作原理deque随机存储deque插入deque删除deque和stack、queue的关系deque概述deque是双向开口的连续线性空间......
  • 如何修改npm包源码后,重新npm包的时候能是修改后的版本
    肯定是clone一份到gitHub啦保存一份修改后的npm包到自己的私有库npm安装git仓库的方式npminstall<gitremoteurl>例如npminstallgithub:mygithubuser/mypro......