django settings.py 配置文件及介绍

 更新时间:2019年07月15日 15:18:15   作者:郭楷丰  
Django的settings文件包含Django应用的所有配置项。接下来通过本文给大家介绍django settings.py 配置文件的相关知识,感兴趣的朋友跟随小编一起看看吧

django settings.py 配置文件

import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#引入os,os包可以对文件进行操作管理
SECRET_KEY = '^#kms19!iawj2b&v3egmynpfwj8^v@2f(_1+jlw+#^vy^pg7oy'
#随机生成的密钥
DEBUG = True
#代表是调试环境
ALLOWED_HOSTS = []
#允许的主机路径,不填写或者ALLOWED_HOSTS = [“*”]代表允许任意主机域名,如果要指定,在里面输入,
#比如域名只允许为 www.baidu.com 那么 ALLOWED_HOSTS = [“www.baidu.com”]
INSTALLED_APPS = [
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
]
#当前项目应用,只有加入这里才能进行模型同步等操作,注册app等
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的中间件,自己写的中间件要在这里填写路径注册,才会生效
ROOT_URLCONF = 'untitled.urls'
#主路由,也就是项目的主urls(根urls) 
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_APPLICATION = 'untitled.wsgi.application'
#启动定义,将使用的WSGI应用程序对象的完整Python路径
DATABASES = {
  "default": {
    "ENGINE": "django.db.backends.mysql",
    "NAME": "practice", # 需要自己手动创建数据库
    "USER": "root",
    "PASSWORD": "318",
    "HOST": "127.0.0.1",
    "POST": 3306
  }
}
#数据库相关配置
AUTH_PASSWORD_VALIDATORS = [
  {
    'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
  },
  {
    'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
  },
  {
    'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
  },
  {
    'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
  },
]
#启用密码验证
LANGUAGE_CODE = 'en-us'
#语言 如中文: LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'UTC'
#时区  如中国上海时区: TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
#国际化
USE_L10N = True
"""
如果USE_L10N设置为True,则区域设置指定的格式具有更高的优先级 
admin 的时候想显示格式化时间,必须把 USE_L10N = False
"""
USE_TZ = True
#系统时区
LOGGING = {
  'version': 1,
  'disable_existing_loggers': False,
  'handlers': {
    'console':{
      'level':'DEBUG',
      'class':'logging.StreamHandler',
    },
  },
  'loggers': {
    'django.db.backends': {
      'handlers': ['console'],
      'propagate': True,
      'level':'DEBUG',
    },
  }
}
#Django利用python提供的logging模块,记录日志。
STATIC_URL = '/static/'
#静态文件配置 如:
"""
STATICFILES_DIRS = [
  os.path.join(BASE_DIR, 'static'),
  ]
"""
#自己定义时间显示格式 如:
"""
DATE_FORMAT = 'Y-m-d'
DATETIME_FORMAT = 'Y-m-d H:i:s'
"""
#定义视图需要的一些限制 如:
"""
MAX_CUSTOMER_NUM = 3 #数量限制
"""

ps:下面给大家介绍下Django中的settings.py

Django的settings文件包含Django应用的所有配置项。由于Django的官方文档部分支持中文,所以极大的增强了我们对文档的阅读性,也可以直接访问官方文档文档settings.py链接进行对settings.py的了解。

settings中有十分庞大的设置选项,在此先介绍默认写在settings.py中的选项,然后列出一些常用的选项。


BASE_DIR:即为项目所在目录,__file__可以获得当前文件的路径,BASE_DIR的存在使我们项目的可移植性更强。

SECRET_KEY:一个特殊的Django安装的密钥,每当使用Django-admin startproject时会自动生成一个。

DUBUG:默认值为FALSE,当选择TRUE时,当我们的项目出错时可以使我们看到出错信息,但是为了防止被用户看到或者他人攻击,在项目上线后应改为FALSE。

ALLOWED_HOSTS:默认值是一个空列表,列表中的值为哪些域名可以访问我们的Django项目

INSTALLED_APPS:安装的APP列表,Django为我们默认添加了一些自带的项目,图片中Users是我自己创建的项目。我们自己创建的APP都要加入这个列表才可以被使用。

MIDDLEWARE:这是我们要使用的中间件的列表。

ROOT_URLCONF:表示根URLconf的完整Python导入路径的字符串。

TEMPLATES:这是对我们的template的选项,template用于存放我们的html文件。详细的选项可以参照DjangoTemplates官方文档。


WSGI_APPLICATION:配置Django项目的WSGI服务路径。

DATABASES:这个大家应该就很熟悉了,配置Django的数据库设置,Django默认的是sqlite3数据库,在这里我把它设置为mysql数据库。ENGINE是选择对应我们选择的数据库的引擎,NAME是数据库名称,HOST是连接数据库所要用到的主机,还有PORT选择端口等许多选项,也可以参考DATABASES文档。

AUTH_PASSWORD_VALIDATORS:用于检查用户密码强度的验证器列表,在为空的情况下就接受任意强度的用户密码。


LANGUAGE_CODE:Django项目的语言代码,默认值为en-us也就是英语,这里我选择的是zh-hans也就是我们的汉语。选择之后Django的admin界面就将变为汉语。

TIME_ZONE:时区,默认值是UTC。当USE_TZ为TRUE时,无论TZ设置为何值Django都会使用系统默认的时区,例如要使用上海的时区则需将USE_TZ=FALSE,TIME_ZONE='Asia/Shanghai'。

USE_I18N:国际化,Django允许开发者指定要翻译的字符串,也可以让访问者进行语言选择。

USE_L10N:是否选择启用数据的本地化。

USE_TZ:TimeZone,如果开启了Time Zone功能,则所有的存储和内部处理,甚至包括直接print显示全都是UTC的。只有通过模板进行表单输入/渲染输出的时候,才会执行UTC本地时间的转换。

通过settings.py默认的选项进行设置就可以启动一个Django项目了,接下来是一些常用的选项。

STATIC_URL:静态目录的所有文件,存放css,js等文件。

STATICFILES_DIRS:将我们自己的static文件加入static路径。

MEDIA_URL:与STATIC_URL类似,存放用户上传的文件。

总结

以上所述是小编给大家介绍的django settings.py 配置文件及介绍,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • 使用Python实现音频双通道分离

    使用Python实现音频双通道分离

    这篇文章主要介绍了使用Python实现音频双通道分离的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • 如何通过50行Python代码获取公众号全部文章

    如何通过50行Python代码获取公众号全部文章

    这篇文章主要介绍了如何通过50行Python代码获取公众号全部文章,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 使用Keras加载含有自定义层或函数的模型操作

    使用Keras加载含有自定义层或函数的模型操作

    这篇文章主要介绍了使用Keras加载含有自定义层或函数的模型操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python使用多线程+socket实现端口扫描

    python使用多线程+socket实现端口扫描

    这篇文章主要为大家详细介绍了python使用多线程+socket实现端口扫描,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • python基于OpenCV模板匹配识别图片中的数字

    python基于OpenCV模板匹配识别图片中的数字

    这篇文章主要介绍了python基于OpenCV模板匹配识别图片中的数字,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • 利用python实现简单的情感分析实例教程

    利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 使用python编写udp协议的ping程序方法

    使用python编写udp协议的ping程序方法

    下面小编就为大家分享一篇使用python编写udp协议的ping程序方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 如何通过python实现人脸识别验证

    如何通过python实现人脸识别验证

    这篇文章主要介绍了如何通过python实现人脸识别验证,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Cpython3.9源码解析python中的大小整数

    Cpython3.9源码解析python中的大小整数

    这篇文章主要介绍了Cpython3.9源码解析python中的大小整数,在CPython中,小整数对象池是一种优化机制,用于减少对常用小整数的内存分配和销毁开销,需要的朋友可以参考下
    2023-04-04
  • python3实现名片管理系统

    python3实现名片管理系统

    这篇文章主要为大家详细介绍了python3实现名片管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11

最新评论