django配置詳解


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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM