一、配置static目录
①在项目目录下创建static文件夹,名称固定,用于存放images,css,js等
②在项目目录下的settings.py中,配置如下
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
# 在模板中导入静态文件时,不需要load标签,会自动加载静态文件
'builtins': ['django.templatetags.static'],
},
},
]
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
二、配置Mysql数据库
方法一:
在项目目录下的settings.py中,设置如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'higher', # 数据库名称,需事先在数据库中创建好
'USER': '******', # 用户名
'PASSWORD': '******', # 密码
'HOST': '127.0.0.1', # 主机地址
'PORT': 3306, # 端口号,默认为3306
}
}
方法二:(推荐使用)
①在项目目录下创建utils目录,再在其下创建dbs目录,然后再创建mysql.cnf用来存放数据库的一些配置信息,其目录结构如下:
②在mysql.cnf中填充如下信息
[client]
database = 数据库名
user = 用户名
password = 密码
host = 127.0.0.1
port = 3306
default-character-set = utf8
③在项目目录下的settings.py中,配置如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': 'utils.dbs.mysql.cnf',
},
}
}
最后在项目目录下的__init__.py文件中(需事先在项目虚拟环境中pip install pymysql),配置如下:
import pymysql
pymysql.install_as_MySQLdb()
三、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",
}
},
}
四、配置日志器
在项目目录下创建logs的python包,再在其中创建swag.log文件用来存放日志信息
这里创建一个名为’django‘的日志器,可以在视图中引用
# 在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/swag.log"), # 日志文件的位置
'maxBytes': 300 * 1024 * 1024,
'backupCount': 10,
'formatter': 'verbose'
},
},
'loggers': {
'django': { # 定义了一个名为django的日志器
'handlers': ['console', 'file'],
'propagate': True,
'level': 'INFO', # 日志器接收的最低日志级别
},
}
}
五、时区配置
# 修改语言
LANGUAGE_CODE = 'zh-hans'
# 修改时区
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
# utc 时间
USE_TZ = True
六、创建app存放目录
①在项目目录下创建apps的python包,用于存放app,将创建好的app拖入其中
②使这个文件夹变为source目录(蓝色),右键文件夹,如下图所示:
③在项目目录下的settings.py中,配置如下:
import os
import sys
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, BASE_DIR)
sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))
④这样一来,注册app的时候就不用apps.app名称啦
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'music', # 可直接注册app名
]