Django中settings.py配置


1.加載數據庫配置

方法一:直接在settings.py文件中添加數據庫配置信息。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',   # 數據庫引擎
        'NAME': 'mysite',                       # 數據庫名稱
        'USER': 'root',                      # 數據庫登錄用戶名
        'PASSWORD': '123456',                # 密碼
        'HOST': '127.0.0.1',                # 數據庫主機IP,如保持默認,則為127.0.0.1
        'PORT': 3306,                           # 數據庫端口號,如保持默認,則為3306
    }
}

方法二:將數據庫配置信息存到一個文件中,在settings.py文件中將其引入。(推薦)

新建數據庫配置文件my.cnf(名字隨意選擇)

在settings.py文件中引入my.cnf文件

DATABASES = {
    # 方法二:
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': 'utils/dbs/my.cnf',
        },
    }
}

⚠️mysql數據庫配置完成之后,運行django程序會報如下錯誤,官方推薦安裝mysqlclient 1.3.7以上版本,也可以安裝pymysql,並且需要在settings.py文件所在包中的__init__.py中導入pymysql。

方法一:安裝mysqlclient,進入到虛擬機執行如下命令:

pyvip@VIP:~$ sudo apt-get update    # 更新ubuntu包
pyvip@VIP:~$ sudo apt-get install default-libmysqlclient-dev    # 安裝依賴
pyvip@VIP:~$ workon youkou_env   # 進入到虛擬環境
(django) pyvip@VIP:~$ pip install -i https://pypi.douban.com/simple mysqlclient

方法二:安裝pymysql,並且需要在settings.py文件所在包中的__init__.py中導入pymysql

(youkou_env) pyvip@VIP:~$ pip install -i https://pypi.douban.com/simple pymysql

2.配置redis緩存

用於存放用戶session信息、短信驗證碼以及圖片驗證碼信息等。

# 在虛擬機中安裝django-redis
pip install -i https://pypi.douban.com/simple django-redis
# 在settings.py文件中指定redis配置
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/0",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    },
}

3.配置日志器

用於記錄系統運行過程中的各種日志信息。

在項目根目錄中創建一個logs文件夾,用於存放日志文件

# 在setting.py文件中加入如下配置:
# 配置日志器,記錄網站的日志信息
LOGGING = {
    # 版本
    'version': 1,
    # 是否禁用已存在的日志器
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(module)s %(lineno)d %(message)s'
        },
    },
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
        },
        'file': {
            'level': 'INFO',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': os.path.join(BASE_DIR, "logs/xiaohong.log"),  # 日志文件的位置
            'maxBytes': 300 * 1024 * 1024,
            'backupCount': 10,
            'formatter': 'verbose'
        },
    },
    'loggers': {
        'django': {  # 定義了一個名為django的日志器
            'handlers': ['console', 'file'],
            'propagate': True,
            'level': 'INFO',  # 日志器接收的最低日志級別
        },
    }
}

4.時區配置

# 修改語言
LANGUAGE_CODE = 'zh-hans'
# 修改時區
TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True
# utc 時間
USE_TZ = True

5.修改靜態文件配置

在項目根目錄中創建一個static目錄,用於存放靜態文件(css、js、image、font等)

STATIC_URL = '/static/'

STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static')] # 用於存放靜態文件]

6.創建應用

a.本項目主要由4個模塊組成,分別為新聞文章模塊、課程視頻播放模塊、文檔下載模塊、用戶管理模塊等。在項目根目錄下創建一個apps目錄用於存放各個子應用。

# 在虛擬機中,cd進入apps
cd apps
python ../manage.py startapp news
python ../manage.py startapp course
python ../manage.py startapp doc
python ../manage.py startapp users

b.在settings.py文件中,加入如下配置

import sys

# 創建應用之后,把apps目錄加入到sys.path中
sys.path.insert(0, BASE_DIR)
sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))

c.分別在apps文件夾和項目根目錄文件夾上右擊,加入到Sources Root根中,優化導入路徑。

d.將應用加入到INSTALLED_APPS列表中

INSTALLED_APPS = [
    # ...
    
    'users',  # 將應用加入到INSTALLED_APPS列表中
    'course',
    'doc',
    'news',
]


免責聲明!

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



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