項目環境搭建
一、創建Django項目
- 創建一個虛擬環境
mkdir pythonenvs
cd pythonenvs & virtualenv django1 -p /usr/bin/python3
2.安裝django
pip3 install django (此時版本是 2.2.12)
3.創建項目
django-admin startproject classonline
4.pycharm ssh連接解釋器
二、配置項目
1、配置模板文件路徑
- 創建 templates 文件夾
- 使用 os.path.join(BASE_DIR, ‘templates’) 加入模板路徑
2、安裝 mysqlclient
- 更新源 apt update
- 安裝依賴庫 libmysqlclien-dev
- pip3 install mysqlclient (此時版本是 1.4.6)
3、配置數據庫引擎
- 創建數據庫 create database classonline charset=‘utf8’
- 創建一個數據庫管理用戶
create user 'yejue'@'host';
grant all privileges on classonline.* to 'yejue'@'%' identified by 'yejue@123';
- django settings 數據庫引擎配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'classonline',
'USER': 'yejue',
'PASSWORD': 'yejue@123',
'PORT': '3306',
'HOST': '172.16.8.128'
}
}
4、配置redis緩存
- 配置
# Cache
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': [
'redis://127.0.0.1:6379/0'
],
'option': {
'CLIENT_CLASS': 'django_redis.client.DefaultClient'
}
},
'session': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': [
'redis://127.0.0.1:6379/1'
],
'option': {
'CLIENT_CLASS': 'django_redis.client.DefaultClient'
}
}
}
# session 存儲緩存設置
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_CACHE_ALIAS = 'session'
- 安裝 django-redis
pip install django-redis (此時的版本是 4.11.0)
5、配置日誌器
參照 https://www.cnblogs.com/nichengshishaonian/p/11550201.html
# 配置日誌器,記錄網站的日誌信息
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/logs.log"), # 日誌文件的位置,必須先手動創建這個logs文件夾
# 單個日誌文件最大字節數
'maxBytes': 300 * 1024 * 1024,
# 日誌文件個數
'backupCount': 10,
'formatter': 'verbose'
},
},
'loggers': {
'django': { # 定義了一個名爲django的日誌器
'handlers': ['console', 'file'],
'propagate': True,
'level': 'INFO', # 日誌器接收的最低日誌級別
},
}
}
6、配置時區
# 語言
LANGUAGE_CODE = 'zh-Hans'
# 時區
TIME_ZONE = 'Asia/Shanghai'
7、靜態文件
- 創建 static 文件夾
- 配置
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
8、apps
- 創建一個 apps 目錄裝app
- 加入環境變量,優化導入
# 加入環境變量 優化導入
sys.path.insert(0, BASE_DIR)
sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))