Django基础(25):settings.py设置选项深入解读。

本文深入解读Django的settings.py文件,包括DEFAULT_FROM_EMAIL、DEBUG、ALLOWED_HOSTS、SECRET_KEY等关键设置选项。了解这些设置有助于优化项目配置,确保在开发和生产环境中的安全性。同时,文章探讨了数据库、缓存、静态文件、国际化和邮件服务的配置,提供了一些建议和最佳实践。
摘要由CSDN通过智能技术生成

大家有没有碰到过这样的一个令人熟悉的场景?有一天你花了很长时间读到了一篇文章,学习到了很多新的知识和技巧,顿时发现自己进步了,感到非常开心。小编我今天就打算送给大家这样一篇文章,让你对Django的settings.py文件有个全新的理解,喜欢的就留言点赞吧。妹子图照发,祝大家天天好心情。

 

settings.py的默认设定与工作原理

Django设置文件settings.py包含的选项非常多,但好消息是大部分不需要我们手动去设置。当我们使用django-admin.py startproject xxx命令创建一个Django项目时,你会发现生成的settings.py已经包含了部分基本的默认设定,我们只需要修改和添加我们需要使用的设定就好了。

 

一个项目完整的全局默认设置在django/conf/global_settings.py文件中。Django在编译时,会先载入global_settings.py中的全局默认配置值,然后加载用户指定的settings文件,重写部分全局默认设置。

 

下面我们就来看看一些常用设置选项及它们背后的含义。

 

BASE_DIR 

默认值os.path.dirname(os.path.dirname(os.path.abspath(__file__)))。这个是Django项目文件夹所在目录得绝对路径,一般不要修改。

 

DEBUG

默认值是True。在本地开发测试环境下设置DEBUG=True可以显示bug信息,便于开发者找出代码错误所在。当你在部署项目在生产环境时,请切记设置DEBUG=False。因为生成环境下打开Debug会暴露很多敏感设置信息(比如数据库密码)。注意: 当你设置DEBUG=False, 你一定要设置ALLOWED_HOSTS选项, 否则会抛出异常。

 

ALLOWED_HOSTS

默认值为空[]。设置ALLOWED_HOSTS是为了限定用户请求中的host值,以防止黑客构造包来进行头部攻击。该选项正确设置方式如下:

  • DEBUG=True:  ALLOWED_HOSTS可以为空,也可设置为['127.0.0.01', 'localhost']

  • DEBUG=False: ALLOWED_HOSTS=['46.124.78.xx', 'www.bat.com','127.0.0.1']

 

当你关闭DEBUG时,HOST一般为服务器公网IP或者注册域名。 当你还需要使用子域名时,你可以用'.bat.com'。它将匹配bat.com, www.bat.com和news.bat.com。在正式部署项目时,请尽量不要设置ALLOWED_HOSTS=['*']。

 

SECRET_KEY

SECRET_KEY是Django根据自己算法生成的一大串随机数,本质是个加密盐,用于防止CSRF(Cross-site request forgery)跨站请求伪造攻击。当部署Django项目到生产环境中时,Django文档建议不直接在settings.py里输入字符串,而是采取下面两种方法读取SECRET_KEY。

# 方法一: 从环境变量中读取SECRET_KEY
import os
SECRET
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值