Django5项目配置settings.py文件详解

📌 本文已被收录至《Django企业级开发实战》专栏,点击订阅解锁更多深度内容!
💡 提供完整的配置示例、避坑指南与性能优化方案,助力开发者快速搭建高可用Django项目!


🚀 核心配置解析

1️⃣ 基础配置项

# 项目路径
BASE_DIR = Path(__file__).resolve().parent.parent
# 🔑 安全密钥(生产环境务必修改!)
SECRET_KEY = "django-insecure-i@*_anu26!@jzqca&8$y^#sew%6j0_61un7pwlg7$i+ip#c3tx"

# 🐞 调试模式(上线必须关闭!)
DEBUG = True  

# 🌐 访问白名单(生产环境示例)
ALLOWED_HOSTS = ['yourdomain.com', 'www.yourdomain.com', '127.0.0.1']

关键说明

  • BASE_DIR 项目路径:主要通过os模块读取当前项目在计算机系统的具体路径,该代码在创建项目时自动生成,一般情况下无须修改。

  • SECRET_KEY 密钥配置:密钥配置SECRET_KEY:这是一个随机值,在项目创建的时候自动生成,一般情况下无须修改。主要用于重要数据的加密处理,提高项目的安全性,避免遭到攻击者恶意破坏。密钥主要用于用户密码、CSRF机制和会话Session等数据加密。

  • 用户密码: Django 内置一套Auth认证系统,该系统具有用户认证和存储用户信息等功能,在创建用户的时候,将用户密码通过密钥进行加密处理,保证用户的安全性。
  • CSRF机制:该机制主要用于表单提交,防止窃取网站的用户信息来制造恶意请求。
  • 会话Session: Session的信息存放在Cookie中,以一串随机的字符串表示,用于标识当前访问网站的用户身份,记录相关用户信息。
  • DEBUG 调试模式:该值为布尔类型。如果在开发调试阶段,那么应设置为True,在开发调试过程中会自动检测代码是否发生更改,根据检测结果执行是否刷新重启系统。如果项目部署上线,那么应将其改为False,否则会泄漏项目的相关信息。

  • ALLOWED_HOSTS 域名访问权限:设置可访问的域名,默认值为空列表。当DEBUG为True并且ALLOWED_HOSTS为空列表时,项目只允许以localhost127.0.0.1在浏览器上访问。当DEBUG为False时,ALLOWED_HOSTS为必填项,否则程序无法启动,如果想允许所有域名访问,可设置ALLOW_HOSTS=['*']

  • INSTALLED_APPS APP列表:告诉Django有哪些App。在项目创建时已有admin、auth和sessions等配置信息,这些都是Django内置的应用功能,各个功能说明如下。


2️⃣ 资源文件配置

资源文件配置分为静态资源媒体资源

  • 静态资源的配置方式由配置属性STATIC_URLSTATICFILESDIRSSTATIC_ROOT进行设置;
  • 媒体资源的配置方式由配置属性MEDIA_URLMEDIA ROOT决定

静态资源配置(CSS/JS/图片)

静态资源指的是网站中不会改变的文件。在一般的应用程序中,静态资源包括CSS文件、JavaScript文件以及图片等资源文件。默认配置,app下的static目录为静态资源,可以直接访问。其他目录不行。

STATIC_URL = "static/"

可以通过配置STATICFILES DIRS实现多个目录下的静态资源可以访问:

STATIC_URL = 'static/'
STATICFILES_DIRS = ['static']

静态资源配置还有STATIC_ROOT,其作用是在服务器上部署项目,实现服务器和项目之间的映射。STATIC_ROOT 主要收集整个项目的静态资源并存放在一个新的文件夹,然后由该文件夹与服务器之间构建映射关系。STATIC_ROOT配置如下:

# 静态资源部署
STATIC_ROOT = BASE_DIR / 'static'

当项目的配置属性 DEBUG 设为True的时候,Django 会自动提供静态文件代理服务,此时整个项目处于开发阶段,因此无须使用STATIC_ROOT。当配置属性DEBUG 设为False的时候,意味着项目进入生产环境,Django不再提供静态文件代理服务,此时需要在项目的配置文件中设置STATIC_ROOT。设置STATIC_ROOT需要使用 Django操作指令collectstatic来收集所有静态资源,这些静态资源都会保存在STATIC_ROOT所设置的文件夹里。

媒体资源(用户上传文件)

一般情况下,STATIC_URL是设置静态文件的路由地址,如CSS样式文件、JavaScript文件以及常用图片等。对于一些经常变动的资源,通常将其存放在媒体资源文件夹,如用户头像、歌曲文件等。媒体资源和静态资源是可以同时存在的,而且两者可以独立运行,互不影响,而媒体资源只有配置属性MEDIA_URL和 MEDIA_ROOT

配置内容如下:

# 设置媒体路由
MEDIA_URL = 'media/'
# 设置media目录的完整路径
MEDIA_ROOT = BASE_DIR / 'media'

配置属性设置后,还需要将media文件夹注册到 Django里,让 Django知道如何找到媒体文件,否则无法在浏览器上访问该文件夹的文件信息。打开项目文件夹的urls.py文件,为媒体文件夹media添加相应的路由地址,代码如下:

from django.conf import settings
from django.contrib import admin
from django.urls import path, re_path
from django.views.static import serve
import helloWorld.views
urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', helloWorld.views.index),
    # 配置媒体文件的路由地址
    re_path('media/(?P<path>.*)', serve, {
   
   'document_root': settings.MEDIA_ROOT},
    name='media')
]

3️⃣模板配置-Templates

在 Web开发中,模板是一种较为特殊的HTML文档。这个HTML文档嵌入了一些能够让Django识别的变量和指令,然后由Django的模板引擎解析这些变量和指令,生成完整的HTML网页并返回给用户浏览。模板是Django里面的MTV框架模式的T部分,配置模板路径是告诉Django在解析模板时,如何找到模板所在的位置。创建项目时,Django已有初始的模板配置信息,如下所示:

TEMPLATES = [
    {
   
   
        # 定义模板引擎,用于识别模板里面的变量和指令。
        # 内置的模板引擎有 DjangoTemplates和 jinja2.Jinja2,每个模板引擎都有自己的变量和指令语法
        "BACKEND": "django.template.backends.django.DjangoTemplates",
        # 设置模板所在路径,告诉
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笨笨轻松熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值