首页 > 其他分享 >django的配置文件

django的配置文件

时间:2022-10-11 16:23:54浏览次数:46  
标签:配置文件 项目 middleware django contrib True

django的配置文件每个配置项的作用

  • 必须大写才是配置项
  • django项目要启动,要先加载配置文件,如果配置文件报错,项目运行不起来

django配置文件settings

  • 项目根路径

    from pathlib import Path
    BASE_DIR = Path(__file__).resolve().parent.parent
    
  • 密钥

    SECRET_KEY = 'django-insecure-4i$6azd399fl$vh9%*7#oald(i&ik(5#i_-y)v&z3g+cxsd$@-'
    

    密钥是自动生成的,很复杂,django中涉及到加密的都使用它,没有不行

  • 模式

    DEBUG = True  或  DEBUG = False
    

    如果是True,项目是调试模式,好处是抛异常在浏览器直接能看到,如果路径不存在,也会提示有哪些路径

    如果是False,项目是上线模式,异常不会出现在浏览器上,不会提示有哪些路径

  • 服务器的地址

    ALLOWED_HOSTS = ['*']
    

    允许项目部署的地址(后期项目上线,这里写服务器的地址),debug是False,这个必须加 * ,不加就报错

  • 内置项目

    INSTALLED_APPS = [
        'django.contrib.admin', # 后台管理admin
        'django.contrib.auth', # 权限,6个表
        'django.contrib.contenttypes',
        'django.contrib.sessions',# session认证相关 ---》django_session表
        'django.contrib.messages', # 消息框架(不了解)
        'django.contrib.staticfiles',# 静态文件
        'app01.apps.App01Config', # app01
        'rest_framework',
    ]
    

    所有的app,django大而全,就是因为它提供了很多内置的app

  • 中间件

    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',  #
        'django.contrib.sessions.middleware.SessionMiddleware', # session相关
        'django.middleware.common.CommonMiddleware',           #把路径跟路由匹配,如果匹配不成功把路径加/ 再匹配,如果匹配成功,让该请求重定向到带/的地址
        'django.middleware.csrf.CsrfViewMiddleware', # csrf相关
        'django.contrib.auth.middleware.AuthenticationMiddleware', # 认证相关
        'django.contrib.messages.middleware.MessageMiddleware',  # 消息框架,学到flask,闪现相同的功能
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]
    
  • 根路由

    ROOT_URLCONF = 'drf_day08.urls'
    

    根路由,所有请求进来,先去根路由匹配---》内部可能有路由分发

  • 模板相关

    TEMPLATES = [ ]
    
  • 项目上线运行

    WSGI_APPLICATION = 'drf_day08.wsgi.application'
    

    后期项目项目上线,uwsgi运行这个application,测试阶段使用manage.py 运行项目

  • 数据库配置

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': BASE_DIR / 'db.sqlite3',
        }
    }
    

    可以使用多种数据库

  • 国际化

LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
  • 静态文件相关

    STATIC_URL = '/static/'
    
  • 自增主键

    DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
    

    所有的自增主键都用BigAutoField

标签:配置文件,项目,middleware,django,contrib,True
From: https://www.cnblogs.com/nirvana001/p/16779609.html

相关文章