這篇文章主要介紹django中settings.py配置文件的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司于2013年開始,先為平?jīng)龅确?wù)建站,平?jīng)龅鹊仄髽I(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為平?jīng)銎髽I(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。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' #隨機(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)行模型同步等操作,注冊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的中間件,自己寫的中間件要在這里填寫路徑注冊,才會(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ù)庫 "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', }, ] #啟用密碼驗(yàn)證 LANGUAGE_CODE = 'en-us' #語言 如中文: LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'UTC' #時(shí)區(qū) 如中國上海時(shí)區(qū): TIME_ZONE = 'Asia/Shanghai' USE_I18N = True #國際化 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)了我們對文檔的閱讀性,也可以直接訪問官方文檔文檔settings.py鏈接進(jìn)行對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è)空列表,列表中的值為哪些域名可以訪問我們的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:這是對我們的template的選項(xiàng),template用于存放我們的html文件。詳細(xì)的選項(xiàng)可以參照DjangoTemplates官方文檔。
WSGI_APPLICATION:配置Django項(xiàng)目的WSGI服務(wù)路徑。
DATABASES:這個(gè)大家應(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ù)庫所要用到的主機(jī),還有PORT選擇端口等許多選項(xiàng),也可以參考DATABASES文檔。
AUTH_PASSWORD_VALIDATORS:用于檢查用戶密碼強(qiáng)度的驗(yàn)證器列表,在為空的情況下就接受任意強(qiáng)度的用戶密碼。
LANGUAGE_CODE:Django項(xiàng)目的語言代碼,默認(rèn)值為en-us也就是英語,這里我選擇的是zh-hans也就是我們的漢語。選擇之后Django的admin界面就將變?yōu)闈h語。
TIME_ZONE:時(shí)區(qū),默認(rèn)值是UTC。當(dāng)USE_TZ為TRUE時(shí),無論TZ設(shè)置為何值Django都會(huì)使用系統(tǒng)默認(rèn)的時(shí)區(qū),例如要使用上海的時(shí)區(qū)則需將USE_TZ=FALSE,TIME_ZONE='Asia/Shanghai'。
USE_I18N:國際化,Django允許開發(fā)者指定要翻譯的字符串,也可以讓訪問者進(jìn)行語言選擇。
USE_L10N:是否選擇啟用數(shù)據(jù)的本地化。
USE_TZ:TimeZone,如果開啟了Time Zone功能,則所有的存儲(chǔ)和內(nèi)部處理,甚至包括直接print
顯示全都是UTC的。只有通過模板進(jìn)行表單輸入/渲染輸出的時(shí)候,才會(huì)執(zhí)行UTC本地時(shí)間的轉(zhuǎn)換。
通過settings.py默認(rèn)的選項(xiàng)進(jìn)行設(shè)置就可以啟動(dòng)一個(gè)Django項(xiàng)目了,接下來是一些常用的選項(xiàng)。
STATIC_URL:靜態(tài)目錄的所有文件,存放css,js等文件。
STATICFILES_DIRS:將我們自己的static文件加入static路徑。
MEDIA_URL:與STATIC_URL類似,存放用戶上傳的文件。
以上是“django中settings.py配置文件的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!