BASE_DIR配置
# 像這樣在項目內部構建路徑:os.path.join(BASE_DIR,...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SECRET_KEY配置
# 安全警告:請將生產中使用的密鑰保密! SECRET_KEY = 'p)a!_c6k-hm4xjkq+wz@v&64xzt@)xa$_ff4^z&44nka_qra91'
DEBUG配置
# 安全警告:不要在生產中打開調試的情況下運行! DEBUG = True
在settings.py文件中有一個變量為DEBUG
默認值是DEBUG = True
當DEBUG = True時的好處為
1.如果開啟了DEBUG模式,那么以后我們修改了Django項目的代碼,然后按下ctrl+s,那么Django就會自動的給我們重啟項目,不需要手動重啟。
2.如果開啟了DEBUG模式,那么以后Django項目中的代碼出現bug了,那么在瀏覽器中和控制台會打印出錯信息。否則的我們很難尋找到bug的位置,也不方便調試代碼。
在生產環境中,禁止開啟DEBUG = True,因為當你的網站出錯誤時,別人能看到你的源代碼,而我們也不需要給用戶看到這些錯誤信息。所以需要關掉DEBUG = True,即設置DEBUG = False
如果設置了DEBUG = False,那么就必須設置settings.py中的ALLOWED_HOSTS.
ALLOWED_HOSTS:這個變量是用來設置以后別人只能通過這個變量中的ip地址或者域名來進行訪問。
ALLOWED_HOSTS = ['127.0.0.1']
INSTALLED_APPS配置首先django默認會生成幾個應用如下:
# Application definition INSTALLED_APPS = [ # 管理站點。 'django.contrib.admin', # 認證系統。 'django.contrib.auth', # 內容類型的框架。 'django.contrib.contenttypes', # 會話框架。 'django.contrib.sessions', # 消息傳遞框架。 'django.contrib.messages', # 用於管理靜態文件的框架。 'django.contrib.staticfiles', # 自定義投票應用 'polls.apps.PollsConfig' ]
管理站點:
django.contrib.admin
https://www.runoob.com/django/django-admin-manage-tool.html
認證系統:
django.contrib.auth
https://www.cnblogs.com/ccorz/p/6358074.html
內容類型的框架:
django.contrib.contenttypes
https://blog.csdn.net/laughing2333/article/details/53014267
會話框架:
django.contrib.sessions
https://www.cnblogs.com/zhaof/p/6281468.html
配置到redis中,首先去安裝一個redis-server:
在虛擬環境中安裝包
pip install django-redis-sessions
在Django項目的settings文件中增加下面的配置
SESSION_ENGINE = 'redis_sessions.session' SESSION_REDIS = { 'host': '192.168.0.100', 'port': 6379, 'db': 1, 'password': '123456', 'prefix': 'session', 'socket_timeout': 10 }
參考:https://blog.csdn.net/linqunbin/article/details/94786313
redis默認連接的是db=0,這些db=1,所以需要用命令進行切換查看:
127.0.0.1:6379> select 1
OK
默認配置文件最多有16個db,0~15
消息傳遞框架:
django.contrib.messages
https://www.cnblogs.com/jl-bai/p/6209653.html
用於管理靜態文件的框架:
django.contrib.staticfiles
https://www.cnblogs.com/MnCu8261/p/6013557.html
MIDDLEWARE配置
。。。。
請最后參考文章:
Django-settings.py的默認設定與工作原理
AUTH_PASSWORD_VALIDATORS配置:
AUTH_PASSWORD_VALIDATORS = [ # 檢驗和用戶信息的相似度 { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, # 校驗密碼最小長度 { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 'OPTIONS': { 'min_length': 9, } }, # 校驗是否為過於簡單(容易猜)密碼 { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, # 校驗是否為純數字 { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ]
校驗密碼:
#和數據庫的密碼進行校驗 check_password(password, encoded) #手動生成加密的密碼,如果password=None,則生成的密碼永遠無法被check_password() make_password(password, salt=None, hasher='default') #檢查密碼是否可被check_password() is_password_usable(encoded_password)