django settings.py 配置文件及介紹
django settings.py 配置文件
import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #引入os,os包可以對(duì)文件進(jìn)行操作管理 SECRET_KEY = '^#kms19!iawj2b&v3egmynpfwj8^v@2f(_1+jlw+#^vy^pg7oy' #隨機(jī)生成的密鑰 DEBUG = True #代表是調(diào)試環(huán)境 ALLOWED_HOSTS = [] #允許的主機(jī)路徑,不填寫或者ALLOWED_HOSTS = [“*”]代表允許任意主機(jī)域名,如果要指定,在里面輸入, #比如域名只允許為 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)前項(xiàng)目應(yīng)用,只有加入這里才能進(jìn)行模型同步等操作,注冊(cè)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的中間件,自己寫的中間件要在這里填寫路徑注冊(cè),才會(huì)生效 ROOT_URLCONF = 'untitled.urls' #主路由,也就是項(xiàng)目的主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' #啟動(dòng)定義,將使用的WSGI應(yīng)用程序?qū)ο蟮耐暾鸓ython路徑 DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", "NAME": "practice", # 需要自己手動(dòng)創(chuàng)建數(shù)據(jù)庫(kù) "USER": "root", "PASSWORD": "318", "HOST": "127.0.0.1", "POST": 3306 } } #數(shù)據(jù)庫(kù)相關(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', }, ] #啟用密碼驗(yàn)證 LANGUAGE_CODE = 'en-us' #語(yǔ)言 如中文: LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'UTC' #時(shí)區(qū) 如中國(guó)上海時(shí)區(qū): TIME_ZONE = 'Asia/Shanghai' USE_I18N = True #國(guó)際化 USE_L10N = True """ 如果USE_L10N設(shè)置為True,則區(qū)域設(shè)置指定的格式具有更高的優(yōu)先級(jí) admin 的時(shí)候想顯示格式化時(shí)間,必須把 USE_L10N = False """ USE_TZ = True #系統(tǒng)時(shí)區(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'), ] """ #自己定義時(shí)間顯示格式 如: """ 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)用的所有配置項(xiàng)。由于Django的官方文檔部分支持中文,所以極大的增強(qiáng)了我們對(duì)文檔的閱讀性,也可以直接訪問(wèn)官方文檔文檔settings.py鏈接進(jìn)行對(duì)settings.py的了解。
settings中有十分龐大的設(shè)置選項(xiàng),在此先介紹默認(rèn)寫在settings.py
中的選項(xiàng),然后列出一些常用的選項(xiàng)。
BASE_DIR:即為項(xiàng)目所在目錄,__file__可以獲得當(dāng)前文件的路徑,BASE_DIR的存在使我們項(xiàng)目的可移植性更強(qiáng)。
SECRET_KEY:一個(gè)特殊的Django安裝的密鑰,每當(dāng)使用Django-admin startproject
時(shí)會(huì)自動(dòng)生成一個(gè)。
DUBUG:默認(rèn)值為FALSE,當(dāng)選擇TRUE時(shí),當(dāng)我們的項(xiàng)目出錯(cuò)時(shí)可以使我們看到出錯(cuò)信息,但是為了防止被用戶看到或者他人攻擊,在項(xiàng)目上線后應(yīng)改為FALSE。
ALLOWED_HOSTS:默認(rèn)值是一個(gè)空列表,列表中的值為哪些域名可以訪問(wèn)我們的Django項(xiàng)目
INSTALLED_APPS:安裝的APP列表,Django為我們默認(rèn)添加了一些自帶的項(xiàng)目,圖片中Users是我自己創(chuàng)建的項(xiàng)目。我們自己創(chuàng)建的APP都要加入這個(gè)列表才可以被使用。
MIDDLEWARE:這是我們要使用的中間件的列表。
ROOT_URLCONF:表示根URLconf的完整Python導(dǎo)入路徑的字符串。
TEMPLATES:這是對(duì)我們的template的選項(xiàng),template用于存放我們的html文件。詳細(xì)的選項(xiàng)可以參照DjangoTemplates官方文檔。
WSGI_APPLICATION:配置Django項(xiàng)目的WSGI服務(wù)路徑。
DATABASES:這個(gè)大家應(yīng)該就很熟悉了,配置Django的數(shù)據(jù)庫(kù)設(shè)置,Django默認(rèn)的是sqlite3數(shù)據(jù)庫(kù),在這里我把它設(shè)置為mysql數(shù)據(jù)庫(kù)。ENGINE是選擇對(duì)應(yīng)我們選擇的數(shù)據(jù)庫(kù)的引擎,NAME是數(shù)據(jù)庫(kù)名稱,HOST是連接數(shù)據(jù)庫(kù)所要用到的主機(jī),還有PORT選擇端口等許多選項(xiàng),也可以參考DATABASES文檔。
AUTH_PASSWORD_VALIDATORS:用于檢查用戶密碼強(qiáng)度的驗(yàn)證器列表,在為空的情況下就接受任意強(qiáng)度的用戶密碼。
LANGUAGE_CODE:Django項(xiàng)目的語(yǔ)言代碼,默認(rèn)值為en-us也就是英語(yǔ),這里我選擇的是zh-hans也就是我們的漢語(yǔ)。選擇之后Django的admin界面就將變?yōu)闈h語(yǔ)。
TIME_ZONE:時(shí)區(qū),默認(rèn)值是UTC。當(dāng)USE_TZ為TRUE時(shí),無(wú)論TZ設(shè)置為何值Django都會(huì)使用系統(tǒng)默認(rèn)的時(shí)區(qū),例如要使用上海的時(shí)區(qū)則需將USE_TZ=FALSE,TIME_ZONE='Asia/Shanghai'。
USE_I18N:國(guó)際化,Django允許開發(fā)者指定要翻譯的字符串,也可以讓訪問(wèn)者進(jìn)行語(yǔ)言選擇。
USE_L10N:是否選擇啟用數(shù)據(jù)的本地化。
USE_TZ:TimeZone,如果開啟了Time Zone功能,則所有的存儲(chǔ)和內(nèi)部處理,甚至包括直接print
顯示全都是UTC的。只有通過(guò)模板進(jìn)行表單輸入/渲染輸出的時(shí)候,才會(huì)執(zhí)行UTC本地時(shí)間的轉(zhuǎn)換。
通過(guò)settings.py默認(rèn)的選項(xiàng)進(jìn)行設(shè)置就可以啟動(dòng)一個(gè)Django項(xiàng)目了,接下來(lái)是一些常用的選項(xiàng)。
STATIC_URL:靜態(tài)目錄的所有文件,存放css,js等文件。
STATICFILES_DIRS:將我們自己的static文件加入static路徑。
MEDIA_URL:與STATIC_URL類似,存放用戶上傳的文件。
總結(jié)
以上所述是小編給大家介紹的django settings.py 配置文件及介紹,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
如何通過(guò)50行Python代碼獲取公眾號(hào)全部文章
這篇文章主要介紹了如何通過(guò)50行Python代碼獲取公眾號(hào)全部文章,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07python使用多線程+socket實(shí)現(xiàn)端口掃描
這篇文章主要為大家詳細(xì)介紹了python使用多線程+socket實(shí)現(xiàn)端口掃描,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05python基于OpenCV模板匹配識(shí)別圖片中的數(shù)字
這篇文章主要介紹了python基于OpenCV模板匹配識(shí)別圖片中的數(shù)字,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03利用python實(shí)現(xiàn)簡(jiǎn)單的情感分析實(shí)例教程
商品評(píng)論挖掘、電影推薦、股市預(yù)測(cè)……情感分析大有用武之地,下面這篇文章主要給大家介紹了關(guān)于利用python實(shí)現(xiàn)簡(jiǎn)單的情感分析的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06如何通過(guò)python實(shí)現(xiàn)人臉識(shí)別驗(yàn)證
這篇文章主要介紹了如何通過(guò)python實(shí)現(xiàn)人臉識(shí)別驗(yàn)證,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01Cpython3.9源碼解析python中的大小整數(shù)
這篇文章主要介紹了Cpython3.9源碼解析python中的大小整數(shù),在CPython中,小整數(shù)對(duì)象池是一種優(yōu)化機(jī)制,用于減少對(duì)常用小整數(shù)的內(nèi)存分配和銷毀開銷,需要的朋友可以參考下2023-04-04python3實(shí)現(xiàn)名片管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)名片管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11