1. 程式人生 > 其它 >settings.py 配置彙總

settings.py 配置彙總

資料庫配置:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 資料庫引擎
        'NAME': ' ', #資料庫名稱
        'HOST': ' ', #連線地址
        'USER': 'root', #連線使用者
        'PASSWORD': ' ', #密碼
        'POST': '3306' #

    }
}            
PS :如果資料庫包用的是 pysqmyl
    需要在專案init檔案下 配置
    
import pymysql pymysql.install_as_MySQLdb() 請求頭配置 1.伺服器請求頭配置 ALLOWED_HOSTS = ['網站域名'] 或者 = ['伺服器監聽的IP地址'] 2.區域網訪問請求頭配置 -如果要在區域網其他主機也能訪問此主機的Django服務 -python3 manage.py runserver 0.0.0.0:指定埠. / 0代表所有 -ALLOWED_HOSTS= ['內網ip'] # 可以是列表形式,填入多個請求頭 -ALLOWED_HOSTS= ['*'] #表示任何請求頭都能訪問到當前專案 -訪問方式:內網ip:指定埠 語言配置: LANGUAGE_CODE
= 'zh-Hans' #中文 時區配置: TIME_ZONE = 'Asia/Shanghai' #東八時區 新app註冊: INSTALLED_APPS = ['app_name'] #插入app名 快取: # 快取 # 快取配置的資料庫表需要用python命令創建出來:python3 manage.py createcachetable # 1.CACHES配置 2.命令建立LOCATION對應的資料表 # CACHES = { # 預設配置資料庫快取 'default': { 'BACKEND': '
django.core.cache.backends.db.DatabaseCache', # 資料庫引擎 'LOCATION': 'my_cache_table', # 快取資料庫表名 'TIMEOUT': 300, # 快取儲存時間 單位秒,預設值300 'OPTIONS': { 'MAX_ENTRIES': 300, # 快取最大資料條數 'CULL_FREQUENCY': 2, # 快取條數達到最大值時,刪除1/x的快取資料 }, # 本地快取 'local': { 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCATION': 'unique-snowflask' }, # 將快取資料存在到本地資料夾 'file': { 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', 'LOCATION': 'var/tmp/django_cache' #資料夾的路徑 } } } Session配置: INSTALLED_APPS: django.contrib.session MIDDLEWARE:django.contrib.sessions.middleware.SessionMiddleware PS:以上兩項配置預設存在 #手動配置項 可選 SESSION_COOKIE_AGE:指定sessionID在cookies中儲存的時長(預設兩週),例如:SESSION_COOKIE_AGE = 60*60*24*7*2 SESSION_EXPIRE_BROWSER_CLOSE:瀏覽器關閉時,session是否失效 預設為False,設定為True瀏覽器關閉session會失效 PS:Django中的session資料儲存在資料庫中,所以使用session前確定已執行過migrate 中介軟體註冊: # settings.py 中需要註冊一下自定義的中介軟體 # 配置為陣列,中介軟體被呼叫時先以先上到下,再由下到上的順序呼叫 # 在專案路徑下建立middleware(自定義名稱)中介軟體資料夾 MIDDLEWARE = [ 'middleware.py_name.calss_name', ##中介軟體資料夾/py檔案/中介軟體類 ] 內建使用者系統登入失敗跳轉配置 LOGIN_URL = '登入失敗跳轉的地址' 指定內建使用者系統user表對應的模型類 AUTH_USER_MODEL = '應用名.類名' #此操作要在第一次Migrate前進行 檔案上傳/media資源配置 MEDIA_URL = '/media/' # 路由標識 MEDIA_ROOT = os.path.join(BASE_DIR,'media') #資料夾路徑 # 主路由繫結media配置 from django.conf import settings from django.conf.urls.static import static urlpatterns = [ path('admin/', admin.site.urls), ] urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 郵件相關配置: #郵件基礎配置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # Django郵件引擎 EMAIL_HOST = 'smtp.xx.com' # 對應郵箱SMTP伺服器地址,例如smtp.qq.com / smtp.163.com等 EMAIL_PORT = 25 # SMTP服務埠號 EMAIL_HOST_USER = '[email protected]' # 傳送郵件等郵箱,例如 [email protected] EMAIL_HOST_PASSWORD = '******' # 對應郵箱設定裡面獲得的授權碼,而不是郵箱的登入密碼 EMAIL_USE_TLS = False # 與SMTP伺服器通訊時,是否啟動TLS連結(安全連結),預設False #可追溯報錯資訊配置 #關閉除錯模式 DEBUG = False #錯誤報告接收方 ADMINS = [('username','[email protected]'),('username','[email protected]')] #接收人名字/郵件地址 #傳送錯誤報告方,預設為root@localhost賬戶,多數郵件伺服器會拒絕,需要修改成配置的郵箱 SERVER_EMAIL = 'email配置中的郵箱' Django-uwsgi配置 新增配置檔案 專案同名資料夾下/uwsgi.ini #檔名可自定義 整個檔案以[uwsgi]開頭,ini檔案中註釋是以及;開頭 ;uwsgi.init 配置 ;ini檔案中註釋是以;開頭 [uwsgi] http = 地址:埠 socket = 地址:埠[此方式需要有nginx] ;使用socket方式的話 需要將http方式禁掉,二選一 chdir= 絕對路徑專案地址 wsgi-file = wsgi.py檔案路徑,相對路徑, 專案同名資料夾/wsgi.py process = 程序個數 threads = 每個程序的執行緒個數 pidfile = uwsgi.pid - 服務的pid記錄檔案 daemonize = uwsgi.log - 服務的日誌檔案位置 master = True - 開啟主程序管理模式 #settings.py配置 1.修改settings.py將DEBUG=True 改為DEBUG = False 2.修改settings.py 將ALLOWED_HOSTS改為 = ['網站域名'] 或者 = ['伺服器監聽的IP地址'] 靜態檔案配置 STATIC_URL = '/static/' 指定訪問靜態檔案時時需要通過/static/xxx 或者 http://127.0.0.1:8000/static/xxx xxx表示具體的靜態資源位置 # 測試環境靜態檔案配置 STATICFILES_DIRS = os.path.join(BASE_DIR,'static') STATICFILES_DIRS儲存的是靜態檔案在伺服器端儲存的位置 如果配置項的值是元組,括號結尾一定要加逗號 在專案下建立static靜態資料夾,配置中使用op.path.join拼接專案路徑與靜態資料夾路徑,靜態配置檔案/夾名字可以自定義 # 正式環境靜態檔案配置 建立新路徑-主要存放Django所有靜態檔案 如/home/專案名_static/ STATIC_ROOT = '/home/專案名_static/static' # 進入專案後執行 python3 manage.py collectstatic # 執行該命令後,Django將所有的檔案複製到STATIC_ROOT中,包括Django內建的靜態檔案
just do it .