溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

django中settings.py配置文件的示例分析

發(fā)布時間:2021-08-20 13:54:49 來源:億速云 閱讀:105 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹django中settings.py配置文件的示例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

django settings.py 配置文件

import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#引入os,os包可以對文件進(jìn)行操作管理
SECRET_KEY = '^#kms19!iawj2b&v3egmynpfwj8^v@2f(_1+jlw+#^vy^pg7oy'
#隨機生成的密鑰
DEBUG = True
#代表是調(diào)試環(huán)境
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',
]
#當(dāng)前項目應(yīng)用,只有加入這里才能進(jìn)行模型同步等操作,注冊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應(yīng)用程序?qū)ο蟮耐暾鸓ython路徑
DATABASES = {
  "default": {
    "ENGINE": "django.db.backends.mysql",
    "NAME": "practice", # 需要自己手動創(chuàng)建數(shù)據(jù)庫
    "USER": "root",
    "PASSWORD": "318",
    "HOST": "127.0.0.1",
    "POST": 3306
  }
}
#數(shù)據(jù)庫相關(guān)配置
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'
#時區(qū)  如中國上海時區(qū): TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
#國際化
USE_L10N = True
"""
如果USE_L10N設(shè)置為True,則區(qū)域設(shè)置指定的格式具有更高的優(yōu)先級 
admin 的時候想顯示格式化時間,必須把 USE_L10N = False
"""
USE_TZ = True
#系統(tǒng)時區(qū)
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/'
#靜態(tài)文件配置 如:
"""
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 #數(shù)量限制
"""

ps:下面給大家介紹下Django中的settings.py

Django的settings文件包含Django應(yīng)用的所有配置項。由于Django的官方文檔部分支持中文,所以極大的增強了我們對文檔的閱讀性,也可以直接訪問官方文檔文檔settings.py鏈接進(jìn)行對settings.py的了解。

settings中有十分龐大的設(shè)置選項,在此先介紹默認(rèn)寫在settings.py中的選項,然后列出一些常用的選項。

django中settings.py配置文件的示例分析

BASE_DIR:即為項目所在目錄,__file__可以獲得當(dāng)前文件的路徑,BASE_DIR的存在使我們項目的可移植性更強。

SECRET_KEY:一個特殊的Django安裝的密鑰,每當(dāng)使用Django-admin startproject時會自動生成一個。

DUBUG:默認(rèn)值為FALSE,當(dāng)選擇TRUE時,當(dāng)我們的項目出錯時可以使我們看到出錯信息,但是為了防止被用戶看到或者他人攻擊,在項目上線后應(yīng)改為FALSE。

ALLOWED_HOSTS:默認(rèn)值是一個空列表,列表中的值為哪些域名可以訪問我們的Django項目

INSTALLED_APPS:安裝的APP列表,Django為我們默認(rèn)添加了一些自帶的項目,圖片中Users是我自己創(chuàng)建的項目。我們自己創(chuàng)建的APP都要加入這個列表才可以被使用。

MIDDLEWARE:這是我們要使用的中間件的列表。

ROOT_URLCONF:表示根URLconf的完整Python導(dǎo)入路徑的字符串。

TEMPLATES:這是對我們的template的選項,template用于存放我們的html文件。詳細(xì)的選項可以參照DjangoTemplates官方文檔。

django中settings.py配置文件的示例分析

WSGI_APPLICATION:配置Django項目的WSGI服務(wù)路徑。

DATABASES:這個大家應(yīng)該就很熟悉了,配置Django的數(shù)據(jù)庫設(shè)置,Django默認(rèn)的是sqlite3數(shù)據(jù)庫,在這里我把它設(shè)置為mysql數(shù)據(jù)庫。ENGINE是選擇對應(yīng)我們選擇的數(shù)據(jù)庫的引擎,NAME是數(shù)據(jù)庫名稱,HOST是連接數(shù)據(jù)庫所要用到的主機,還有PORT選擇端口等許多選項,也可以參考DATABASES文檔。

AUTH_PASSWORD_VALIDATORS:用于檢查用戶密碼強度的驗證器列表,在為空的情況下就接受任意強度的用戶密碼。

django中settings.py配置文件的示例分析

LANGUAGE_CODE:Django項目的語言代碼,默認(rèn)值為en-us也就是英語,這里我選擇的是zh-hans也就是我們的漢語。選擇之后Django的admin界面就將變?yōu)闈h語。

TIME_ZONE:時區(qū),默認(rèn)值是UTC。當(dāng)USE_TZ為TRUE時,無論TZ設(shè)置為何值Django都會使用系統(tǒng)默認(rèn)的時區(qū),例如要使用上海的時區(qū)則需將USE_TZ=FALSE,TIME_ZONE='Asia/Shanghai'。

USE_I18N:國際化,Django允許開發(fā)者指定要翻譯的字符串,也可以讓訪問者進(jìn)行語言選擇。

USE_L10N:是否選擇啟用數(shù)據(jù)的本地化。

USE_TZ:TimeZone,如果開啟了Time Zone功能,則所有的存儲和內(nèi)部處理,甚至包括直接print顯示全都是UTC的。只有通過模板進(jìn)行表單輸入/渲染輸出的時候,才會執(zhí)行UTC本地時間的轉(zhuǎn)換。

通過settings.py默認(rèn)的選項進(jìn)行設(shè)置就可以啟動一個Django項目了,接下來是一些常用的選項。

STATIC_URL:靜態(tài)目錄的所有文件,存放css,js等文件。

STATICFILES_DIRS:將我們自己的static文件加入static路徑。

MEDIA_URL:與STATIC_URL類似,存放用戶上傳的文件。

以上是“django中settings.py配置文件的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI