Django 项目创建后,在主应用中会有一个 settings.py 文件,这个就是该项目的配置文件

详解配置

  • settings 文件包含 Django 安装的所有配置
  • settings 文件是一个包含模块级变量的 python 模块
  • settings 中的所有配置项的 key 必须全部大写
  • settings 中每个配置项都有默认值,默认配置内容在 django/conf/global_settings.py 中。项目中不需要导入该模块,Django 框架会自动获取
  • settings 中可以添加自定义的配置项 ```python

    导入默认配置

    from django.conf import global_settings

查看(CMD/Ctrl + 点击)该语句的 global_settings

  1. > 一般不需要去修改 global_settings
  2. <a name="Hj9C7"></a>
  3. ### 启用配置
  4. <a name="YmZTP"></a>
  5. #### 自动配置
  6. 当启动 manage.py 时,默认已在 manage.py 中配置
  7. ```python
  8. if __name__ == '__main__':
  9. os.environ.setdefault('DJANGO_SETTINGS_MODULE', '项目名称.settings')

手动配置

  1. python manage.py runserver IP:[PORT] --settings=项目名称.settings

部署启动

  1. os.environ.setdefault('DJANGO_SETTINGS_MODULE', '项目名称.settings')

配置文件

文件路径

  1. BASE_DIR = Path(__file__).resolve().parent.parent

当前文件所在文件夹的上一级目录的绝对路径

加密 session

  1. SECRET_KEY = '随机的字符串'
  2. # 生成的方法
  3. from django.core.management import utils
  4. utils.get_random_secret_key()

默认自动生成

调试模式

  1. DEBUG = True

默认是 True,协助开发时看到错误的所有详细信息。部署时一定要修改为 False

域名设置

  1. ALLOWED_HOSTS = []
  • 允许所有域名访问: ALLOWED_HOSTS = [’*‘]
  • 指定域名访问:ALLOWED_HOSTS = [’*.主域名.com‘]

应用设置

  1. INSTALLED_APPS = []

中间层

  1. MIDDLEWARE = []

配置过滤器,web安全

基础 URLS

  1. ROOT_URLCONF = '项目名称.urls'

模板设置

  1. TEMPLATES = [{
  2. 'DIRS': []
  3. }]

服务器配置

  1. WSGI_APPLICATION = '项目名称.wsgi.application'

默认自动代入项目名称

数据库配置

  1. DATABASES = {
  2. 'default': {
  3. 'ENGINE': 'django.db.backends.sqlite3',
  4. 'NAME': BASE_DIR / 'db.sqlite3',
  5. }
  6. }

默认 sqlite3 数据库

静态文件

  1. STATIC_URL = 'static/'

其他设置

  1. LANGUAGE_CODE = 'en-us'

默认英文,改为 zh-Hans 中文

获取配置

  1. from django.conf import settings
  2. print(f'settings.key名')

不要导入具体的 settings 模块的路径,会形成高耦合