django settings.py 配置文件及介紹
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中的選項,然后列出一些常用的選項。

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

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:用于檢查用戶密碼強度的驗證器列表,在為空的情況下就接受任意強度的用戶密碼。

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類似,存放用戶上傳的文件。
總結(jié)
以上所述是小編給大家介紹的django settings.py 配置文件及介紹,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
python使用多線程+socket實現(xiàn)端口掃描
這篇文章主要為大家詳細(xì)介紹了python使用多線程+socket實現(xiàn)端口掃描,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-05-05
python基于OpenCV模板匹配識別圖片中的數(shù)字
這篇文章主要介紹了python基于OpenCV模板匹配識別圖片中的數(shù)字,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03
Cpython3.9源碼解析python中的大小整數(shù)
這篇文章主要介紹了Cpython3.9源碼解析python中的大小整數(shù),在CPython中,小整數(shù)對象池是一種優(yōu)化機制,用于減少對常用小整數(shù)的內(nèi)存分配和銷毀開銷,需要的朋友可以參考下2023-04-04

