djago项目的一些基本配置

该博客主要介绍Django项目的配置,包括static目录配置、Mysql和Redis数据库配置、日志器配置、时区配置以及创建app存放目录等内容,详细说明了各配置的步骤和方法,如在特定文件中添加配置信息等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、配置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名
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值