django项目settings中常用的配置

本文介绍了Django项目settings配置中的关键选项,包括BASE_DIR、DEBUG、ALLOWED_HOSTS、本地语言与时区设置以及静态文件的管理。调试模式下,DEBUG=True会显示详细错误信息,ALLOWED_HOSTS需设置为允许的主机列表。静态文件配置涉及STATICFILES_DIRS和STATIC_URL,Django仅在调试模式下提供静态文件,生产环境中需通过collectstatic命令收集。

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

配置文件

1. BASE_DIR

当前工程的根目录,Django会依此来定位工程内的相关文件,我们也可以使用该参数来构造文件路径。

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

假设我们的项目目录是如下图所示的目录结构:
在这里插入图片描述
1.os.path.abspath(file): settings文件的绝对路径**---->** “~/Desktop/test_makekarking_project/makemarking/src/makemarking/settings”
2.os.path.dirname(os.path.abspath(file)): ----> “~/Desktop/test_makekarking_project/makemarking/src/makemarking/”
3.os.path.dirname(os.path.dirname(os.path.abspath(file))): ---->"~/Desktop/test_makekarking_project/makemarking/src/"

2. DEBUG

调试模式,创建工程后初始值为True,即默认工作在调试模式下。
作用:
Django程序出现异常时,向前端显示详细的错误追踪信息,
注意:部署线上运行的Django不要运行在调式模式下,记得修改DEBUG=False

3. ALLOWED_HOSTS = []

白名单, 调试模式为True时, ALLOWED_HOSTS = []可以不用设置,但是当调试模式设置为False时, 必须向白名单中添加指定的ip.被添加在白名单中的ip才能访问我们的django项目,如果白名单为空列表,则项目无法正常运行.
要允许所有的设备都可以访问我们的django项目,可以设置白名单如下:

ALLOWED_HOSTS = ['*']

4. 本地语言与时区

初始化的工程默认语言和时区为英语和UTC标准时区

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

将语言和时区修改为中国大陆信息

LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

5.静态文件

初始化的工程默认会为设置第一段静态文件url,如下所示:

STATIC_URL = '/static/'

项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理。在html页面中调用时,也需要指定静态文件的路径,Django中提供了一种解析的方式配置静态文件路径。静态文件可以放在项目根目录下,也可以放在应用的目录下,由于有些静态文件在项目中是通用的,所以推荐放在项目的根目录下,方便管理。
我们的项目如果是前后端不分离的,会有大量的js文件,html文件,images文件,这些文件通常都保存在我们项目的一个名叫static的文件夹中,在settings我们需要添加如下配置.
为了提供静态文件,需要配置两个参数:
STATICFILES_DIRS=[] 存放查找静态文件的目录 接收的是list
STATIC_URL 访问静态文件的URL前缀

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]

项目中的静态文件夹路径在BASE_DIR下方
在这里插入图片描述
如上图所示的项目目录结构,最上面的meiduo_mail是项目跟目录,第二个meiduo_mail是BASE_DIR,static是项目中的静态文件存储目录.
注意:
Django 仅在调试模式下(DEBUG=True)能对外提供静态文件。
当DEBUG=False工作在生产模式时,Django不再对外提供静态文件,需要是用collectstatic命令来收集静态文件并交由其他静态文件服务器来提供。

下一篇: django中的url详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值