前面的隨筆中我們經常會改setting配置也經常將一些配置混淆今天主要是將一些常見的配置做一個彙總。 ...
前面的隨筆中我們經常會改setting配置也經常將一些配置混淆今天主要是將一些常見的配置做一個彙總。
setting配置彙總
1、app路徑
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app1.apps.App1Config', # 預設已有 如果沒有隻要添加app名稱即可 例如: 'app1' # 新建的應用都要在這裡添加 ]
2、資料庫配置
如果使用django的預設sqlite3資料庫則不需要改
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
如果使用mysql資料庫需要將上述資料庫註掉修改如下
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'blog', #你的資料庫名稱 資料庫需要自己提前建好 'USER': 'root', #你的資料庫用戶名 'PASSWORD': '', #你的資料庫密碼 'HOST': '', #你的資料庫主機,留空預設為localhost 'PORT': '3306', #你的資料庫埠 } }
並且需要在應用的__init__.py文件添加
import pymysql pymysql.install_as_MySQLdb()
詳情可以查看:http://www.cnblogs.com/liluning/p/7729607.html
3、sql語句
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True, 'level':'DEBUG', }, } }
當你的操作與資料庫相關時 會將我們的寫的語句翻譯成sql語句在服務端列印。
4、靜態文件目錄
STATIC_URL = '/static/' #調用時目錄 STATICFILES_DIRS=[ os.path.join(BASE_DIR,"static"), #具體路徑 ]
5、如果資料庫中的UserInfo(用戶表)繼承django內置AbstractUser
1)model需導入
from django.contrib.auth.models import AbstractUser
2)配置文件
AUTH_USER_MODEL = "應用名.UserInfo"
6、中間件
自己寫的中間件,例如在項目中的md文件夾下md.py文件中的M1與M2兩個中間件
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', 'md.md.M1', 'md.md.M2', ]
註意自己寫的中間件,配置要寫在系統中的後面
7、session存儲的相關配置
1)資料庫配置(預設)
Django預設支持Session,並且預設是將Session數據存儲在資料庫中,即:django_session 表中。 配置 settings.py SESSION_ENGINE = 'django.contrib.sessions.backends.db' # 引擎(預設) SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在瀏覽器上時的key,即:sessionid=隨機字元串(預設) SESSION_COOKIE_PATH = "/" # Session的cookie保存的路徑(預設) SESSION_COOKIE_DOMAIN = None # Session的cookie保存的功能變數名稱(預設) SESSION_COOKIE_SECURE = False # 是否Https傳輸cookie(預設) SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http傳輸(預設) SESSION_COOKIE_AGE = 1209600 # Session的cookie失效日期(2周)(預設) SESSION_EXPIRE_AT_BROWSER_CLOSE = False # 是否關閉瀏覽器使得Session過期(預設) SESSION_SAVE_EVERY_REQUEST = False # 是否每次請求都保存Session,預設修改之後才保存(預設)View Code
2)緩存配置
配置 settings.py SESSION_ENGINE = 'django.contrib.sessions.backends.cache' # 引擎 SESSION_CACHE_ALIAS = 'default' # 使用的緩存別名(預設記憶體緩存,也可以是memcache),此處別名依賴緩存的設置 SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在瀏覽器上時的key,即:sessionid=隨機字元串 SESSION_COOKIE_PATH = "/" # Session的cookie保存的路徑 SESSION_COOKIE_DOMAIN = None # Session的cookie保存的功能變數名稱 SESSION_COOKIE_SECURE = False # 是否Https傳輸cookie SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http傳輸 SESSION_COOKIE_AGE = 1209600 # Session的cookie失效日期(2周) SESSION_EXPIRE_AT_BROWSER_CLOSE = False # 是否關閉瀏覽器使得Session過期 SESSION_SAVE_EVERY_REQUEST = False # 是否每次請求都保存Session,預設修改之後才保存View Code
3)預設配置
配置 settings.py SESSION_ENGINE = 'django.contrib.sessions.backends.file' # 引擎 SESSION_FILE_PATH = None # 緩存文件路徑,如果為None,則使用tempfile模塊獲取一個臨時地址tempfile.gettempdir() SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在瀏覽器上時的key,即:sessionid=隨機字元串 SESSION_COOKIE_PATH = "/" # Session的cookie保存的路徑 SESSION_COOKIE_DOMAIN = None # Session的cookie保存的功能變數名稱 SESSION_COOKIE_SECURE = False # 是否Https傳輸cookie SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http傳輸 SESSION_COOKIE_AGE = 1209600 # Session的cookie失效日期(2周) SESSION_EXPIRE_AT_BROWSER_CLOSE = False # 是否關閉瀏覽器使得Session過期 SESSION_SAVE_EVERY_REQUEST = False # 是否每次請求都保存Session,預設修改之後才保存View Code
註意:
1)也可以自定義配置 但是自定義的配置都要寫到配置文件最後 代碼中使用時可以導入配置
from django.conf import settings
settings.配置名
2)上面所有配置都是針對特定問題需要修改的 系統預設配置不做說明
3)上面配置只是前面django系列隨筆所遇到的常用配置 後續所遇配置都會逐步在此隨筆中持續添加跟新