django settings.py 配置文件及介绍


Posted in Python onJuly 15, 2019

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中的选项,然后列出一些常用的选项。

django 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官方文档。

django settings.py 配置文件及介绍

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

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

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

django settings.py 配置文件及介绍

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和OpenCV库将URL转换为OpenCV格式的方法
Mar 27 Python
Python实现的计算马氏距离算法示例
Apr 03 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
Apr 20 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
May 18 Python
python邮件发送smtplib使用详解
Jun 16 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
Aug 31 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
python 绘制拟合曲线并加指定点标识的实现
Jul 10 Python
python制作英语翻译小工具代码实例
Sep 09 Python
django实现后台显示媒体文件
Apr 07 Python
如何利用Python动态模拟太阳系运转
Sep 04 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
Nov 22 Python
python项目对接钉钉SDK的实现
Jul 15 #Python
用Python识别人脸,人种等各种信息
Jul 15 #Python
django中账号密码验证登陆功能的实现方法
Jul 15 #Python
python tkinter窗口最大化的实现
Jul 15 #Python
在pycharm下设置自己的个性模版方法
Jul 15 #Python
Pycharm新建模板默认添加个人信息的实例
Jul 15 #Python
在python中将list分段并保存为array类型的方法
Jul 15 #Python
You might like
php下封装较好的数字分页方法
2010/11/23 PHP
div li的多行多列 无刷新分页示例代码
2013/10/16 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
Mootools 1.2教程(2) DOM选择器
2009/09/14 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
js实现带按钮的上下滚动效果
2015/05/12 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
手机Web APP如何实现分享多平台功能
2016/08/19 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
Vue数字输入框组件的使用方法
2019/10/19 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
Python生成随机密码
2015/03/10 Python
python读写json文件的简单实现
2017/04/11 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
Python同步遍历多个列表的示例
2019/02/19 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
2019/05/07 Python
django drf框架中的user验证以及JWT拓展的介绍
2019/08/12 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
Python箱型图处理离群点的例子
2019/12/09 Python
Python astype(np.float)函数使用方法解析
2020/06/08 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
大学生职业生涯规划书模板
2014/01/18 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
本科生求职信
2014/06/17 职场文书
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
小学毕业感言100字
2015/07/30 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers
Python万能模板案例之matplotlib绘制直方图的基本配置
2022/04/13 Python