设置¶
警告
覆盖设置时请小心,尤其是在默认值是非空列表或字典时,例如 STATICFILES_FINDERS
。确保保留您希望使用的 Django 功能所需的组件。
核心设置¶
以下是 Django 核心提供的设置及其默认值的列表。贡献应用程序提供的设置列在下面,之后是核心设置的主题索引。有关入门资料,请参阅 设置主题指南。
ABSOLUTE_URL_OVERRIDES
¶
默认值:{}
(空字典)
一个字典,将 "app_label.model_name"
字符串映射到接受模型对象并返回其 URL 的函数。这是一种在每个安装的基础上插入或覆盖 get_absolute_url()
方法的方式。示例
ABSOLUTE_URL_OVERRIDES = {
"blogs.blog": lambda o: "/blogs/%s/" % o.slug,
"news.story": lambda o: "/stories/%s/%s/" % (o.pub_year, o.slug),
}
此设置中使用的模型名称应全部小写,无论实际模型类名称的大小写如何。
ADMINS
¶
默认值:[]
(空列表)
接收代码错误通知的所有人员的列表。当 DEBUG=False
且 AdminEmailHandler
在 LOGGING
中配置(默认情况下已完成)时,Django 会向这些人发送在请求/响应周期中引发的异常的详细信息。
列表中的每个项目都应该是 (全名,电子邮件地址) 的元组。示例
[("John", "john@example.com"), ("Mary", "mary@example.com")]
ALLOWED_HOSTS
¶
默认值:[]
(空列表)
一个字符串列表,表示此 Django 站点可以服务的宿主/域名。这是一种安全措施,可以防止 HTTP 主机头攻击,即使在许多看似安全的 Web 服务器配置下,这种攻击也是可能的。
此列表中的值可以是完全限定名称(例如 'www.example.com'
),在这种情况下,它们将与请求的 Host
头完全匹配(不区分大小写,不包括端口)。以句点开头的值可以用作子域通配符:'.example.com'
将匹配 example.com
、www.example.com
和 example.com
的任何其他子域。'*'
值将匹配任何内容;在这种情况下,您负责自行验证 Host
头(可能在中间件中;如果是这样,此中间件必须在 MIDDLEWARE
中首先列出)。
Django 还允许使用任何条目的 完全限定域名 (FQDN)。一些浏览器在 Host
头中包含尾随点,Django 在执行主机验证时会将其去除。
如果 Host
头(或如果启用了 USE_X_FORWARDED_HOST
,则为 X-Forwarded-Host
)与此列表中的任何值都不匹配,则 django.http.HttpRequest.get_host()
方法将引发 SuspiciousOperation
。
当 DEBUG
为 True
且 ALLOWED_HOSTS
为空时,主机将针对 ['.localhost', '127.0.0.1', '[::1]']
进行验证。
ALLOWED_HOSTS
也 在运行测试时进行检查。
此验证仅通过 get_host()
应用;如果您的代码直接从 request.META
访问 Host
头,则您正在绕过此安全保护。
APPEND_SLASH
¶
默认值:True
设置为 True
时,如果请求 URL 与 URLconf 中的任何模式都不匹配且结尾没有斜杠,则会发出 HTTP 重定向以附加斜杠的相同 URL。请注意,重定向可能会导致 POST 请求中提交的任何数据丢失。
仅当安装了 CommonMiddleware
时(请参阅 中间件),才会使用 APPEND_SLASH
设置。另请参阅 PREPEND_WWW
。
CACHES
¶
默认值
{
"default": {
"BACKEND": "django.core.cache.backends.locmem.LocMemCache",
}
}
包含要与 Django 一起使用的所有缓存设置的字典。它是一个嵌套字典,其内容将缓存别名映射到包含单个缓存选项的字典。
CACHES
设置必须配置一个 default
缓存;也可以指定任意数量的其他缓存。如果您使用的是本地内存缓存以外的缓存后端,或者您需要定义多个缓存,则需要其他选项。以下缓存选项可用。
BACKEND
¶
默认值:''
(空字符串)
要使用的缓存后端。内置缓存后端为
'django.core.cache.backends.db.DatabaseCache'
'django.core.cache.backends.dummy.DummyCache'
'django.core.cache.backends.filebased.FileBasedCache'
'django.core.cache.backends.locmem.LocMemCache'
'django.core.cache.backends.memcached.PyMemcacheCache'
'django.core.cache.backends.memcached.PyLibMCCache'
'django.core.cache.backends.redis.RedisCache'
您可以通过将 BACKEND
设置为缓存后端类的完全限定路径(即 mypackage.backends.whatever.WhateverCache
)来使用不随 Django 一起提供的缓存后端。
KEY_FUNCTION
¶
包含指向函数(或任何可调用对象)的点路径的字符串,该函数(或任何可调用对象)定义如何将前缀、版本和键组合成最终的缓存键。默认实现等效于函数
def make_key(key, key_prefix, version):
return ":".join([key_prefix, str(version), key])
您可以使用任何您想要的键函数,只要它具有相同的参数签名。
有关更多信息,请参阅 缓存文档。
KEY_PREFIX
¶
默认值:''
(空字符串)
一个字符串,将自动包含(默认情况下,前缀)到 Django 服务器使用的所有缓存键中。
有关更多信息,请参阅 缓存文档。
LOCATION
¶
默认值:''
(空字符串)
要使用的缓存位置。这可能是文件系统缓存的目录、memcache 服务器的主机和端口或本地内存缓存的标识名称。例如:
CACHES = {
"default": {
"BACKEND": "django.core.cache.backends.filebased.FileBasedCache",
"LOCATION": "/var/tmp/django_cache",
}
}
OPTIONS
¶
默认值:None
传递给缓存后端的额外参数。可用的参数取决于你的缓存后端。
一些关于可用参数的信息可以在缓存参数文档中找到。更多信息,请参考你后端模块自己的文档。
TIMEOUT
¶
默认值:300
缓存条目被认为失效之前的秒数。如果此设置的值为None
,缓存条目将永不过期。值为0
会导致键立即过期(有效地“不缓存”)。
VERSION
¶
默认值:1
Django 服务器生成的缓存键的默认版本号。
请参阅缓存文档了解更多信息。
CACHE_MIDDLEWARE_ALIAS
¶
默认值:'default'
用于缓存中间件的缓存连接。
CACHE_MIDDLEWARE_KEY_PREFIX
¶
默认值:''
(空字符串)
一个字符串,它将作为缓存中间件生成的缓存键的前缀。此前缀与KEY_PREFIX
设置组合;它不会替换它。
参见Django 的缓存框架。
CACHE_MIDDLEWARE_SECONDS
¶
默认值:600
用于缓存中间件缓存页面的默认秒数(整数)。
参见Django 的缓存框架。
CSRF_USE_SESSIONS
¶
默认值:False
是否将 CSRF 令牌存储在用户的会话中而不是 Cookie 中。它需要使用django.contrib.sessions
。
将 CSRF 令牌存储在 Cookie 中(Django 的默认设置)是安全的,但在其他 Web 框架中,将其存储在会话中是很常见的做法,因此有时会被安全审计员要求。
由于默认错误视图需要 CSRF 令牌,因此如果使用CSRF_USE_SESSIONS
,则SessionMiddleware
必须出现在MIDDLEWARE
中,在任何可能引发异常以触发错误视图(例如PermissionDenied
)的中间件之前。参见中间件排序。
CSRF_FAILURE_VIEW
¶
默认值:'django.views.csrf.csrf_failure'
当传入请求被CSRF 保护拒绝时要使用的视图函数的点分路径。该函数应具有以下签名
def csrf_failure(request, reason=""): ...
其中reason
是一个简短的消息(供开发人员或日志记录使用,而不是供最终用户使用),指示拒绝请求的原因。它应该返回一个HttpResponseForbidden
。
django.views.csrf.csrf_failure()
接受一个额外的 template_name
参数,默认为 '403_csrf.html'
。如果存在具有该名称的模板,则将使用它来呈现页面。
CSRF_HEADER_NAME
¶
默认值:'HTTP_X_CSRFTOKEN'
用于 CSRF 身份验证的请求标头名称。
与 request.META
中的其他 HTTP 标头一样,从服务器接收到的标头名称会通过将所有字符转换为大写、将所有连字符替换为下划线以及在名称前添加 'HTTP_'
前缀来标准化。例如,如果您的客户端发送 'X-XSRF-TOKEN'
标头,则设置应为 'HTTP_X_XSRF_TOKEN'
。
CSRF_TRUSTED_ORIGINS
¶
默认值:[]
(空列表)
非安全请求(例如 POST
)的可信来源列表。
对于包含 Origin
标头的请求,Django 的 CSRF 保护要求该标头与 Host
标头中存在的来源匹配。
对于不包含 Origin
标头的secure
非安全请求,该请求必须具有与 Host
标头中存在的来源匹配的 Referer
标头。
这些检查可以防止例如来自 subdomain.example.com
的 POST
请求成功针对 api.example.com
。如果您需要跨源非安全请求,继续上面的示例,请将 'https://subdomain.example.com'
添加到此列表(以及/或者 http://...
,如果请求源自不安全的页面)。
此设置还支持子域,因此您可以添加 'https://*.example.com'
,例如,允许访问 example.com
的所有子域。
DATABASES
¶
默认值:{}
(空字典)
包含要与 Django 一起使用的所有数据库设置的字典。它是一个嵌套字典,其内容将数据库别名映射到包含单个数据库选项的字典。
DATABASES
设置必须配置一个 default
数据库;也可以指定任意数量的其他数据库。
使用 SQLite 进行单数据库设置的最简单的设置文件如下所示:
DATABASES = {
"default": {
"ENGINE": "django.db.backends.sqlite3",
"NAME": "mydatabase",
}
}
连接到其他数据库后端(例如 MariaDB、MySQL、Oracle 或 PostgreSQL)时,将需要其他连接参数。有关如何指定其他数据库类型的说明,请参见下面的 ENGINE
设置。以下示例适用于 PostgreSQL:
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": "mydatabase",
"USER": "mydatabaseuser",
"PASSWORD": "mypassword",
"HOST": "127.0.0.1",
"PORT": "5432",
}
}
以下内部选项可能需要用于更复杂的配置:
ATOMIC_REQUESTS
¶
默认值:False
将其设置为 True
以将每个视图包装在此数据库的事务中。请参阅 将事务绑定到 HTTP 请求。
AUTOCOMMIT
¶
默认值:True
如果您想禁用 Django 的事务管理 并实现您自己的事务管理,请将其设置为 False
。
ENGINE
¶
默认值:''
(空字符串)
要使用的数据库后端。内置数据库后端有:
'django.db.backends.postgresql'
'django.db.backends.mysql'
'django.db.backends.sqlite3'
'django.db.backends.oracle'
您可以通过将 ENGINE
设置为完全限定的路径(即 mypackage.backends.whatever
)来使用不随 Django 一起提供的数据库后端。
HOST
¶
默认值:''
(空字符串)
连接到数据库时要使用的主机。空字符串表示本地主机。SQLite 不使用此项。
如果此值以正斜杠开头 ('/'
) 并且您使用的是 MySQL,则 MySQL 将通过 Unix 套接字连接到指定的套接字。例如:
"HOST": "/var/run/mysql"
如果您使用的是 MySQL 并且此值不以正斜杠开头,则此值被认为是主机。
如果您使用的是 PostgreSQL,默认情况下(空的 HOST
),数据库连接是通过 UNIX 域套接字完成的(pg_hba.conf
中的“local”行)。如果您的 UNIX 域套接字不在标准位置,请使用 postgresql.conf
中相同的 unix_socket_directory
值。如果您想通过 TCP 套接字连接,请将 HOST
设置为 'localhost' 或 '127.0.0.1'(pg_hba.conf
中的“host”行)。在 Windows 上,您应始终定义 HOST
,因为 UNIX 域套接字不可用。
NAME
¶
默认值:''
(空字符串)
要使用的数据库的名称。对于 SQLite,它是数据库文件的完整路径。指定路径时,即使在 Windows 上也始终使用正斜杠(例如 C:/homes/user/mysite/sqlite3.db
)。
CONN_MAX_AGE
¶
默认值:0
数据库连接的寿命,以秒为整数。使用 0
在每个请求结束时关闭数据库连接——Django 的历史行为——以及 None
用于无限的持久性数据库连接。
CONN_HEALTH_CHECKS
¶
默认值:False
如果设置为 True
,则在每个执行数据库访问的请求中重用现有持久性数据库连接之前,将对其进行运行状况检查。如果运行状况检查失败,则在连接不再可用但数据库服务器已准备好接受和提供新连接时(例如,在数据库服务器重新启动关闭现有连接后),将重新建立连接,而不会使请求失败。
OPTIONS
¶
默认值:{}
(空字典)
连接到数据库时要使用的额外参数。可用的参数取决于您的数据库后端。
可以在数据库后端文档中找到有关可用参数的一些信息。有关更多信息,请参阅您后端模块自己的文档。
PASSWORD
¶
默认值:''
(空字符串)
连接到数据库时要使用的密码。SQLite 不使用此项。
PORT
¶
默认值:''
(空字符串)
连接到数据库时要使用的端口。空字符串表示默认端口。SQLite 不使用此项。
TIME_ZONE
¶
默认值:None
表示此数据库连接时区的字符串或 None
。DATABASES
设置的此内部选项接受与通用 TIME_ZONE
设置相同的值。
当 USE_TZ
为 True
时,从数据库读取日期时间将返回带有时区设置为此选项值的已知日期时间(如果非 None
),否则设置为 UTC。
当 USE_TZ
为 False
时,设置此选项会出错。
如果数据库后端不支持时区(例如 SQLite、MySQL、Oracle),则 Django 会根据此选项(如果已设置)以本地时间读取和写入日期时间,如果没有设置则以 UTC 读取和写入日期时间。
更改连接时区会更改从数据库读取和写入日期时间的方式。
如果 Django 管理数据库,并且您没有充分的理由这样做,则应保持此选项未设置。最好以 UTC 存储日期时间,因为它可以避免在夏令时转换期间出现模棱两可或不存在的日期时间。此外,以 UTC 接收日期时间可以使日期时间运算简单——无需考虑 DST 转换期间潜在的偏移更改。
如果您连接到以本地时间而非 UTC 存储日期时间的第三方数据库,则必须将此选项设置为适当的时区。同样,如果 Django 管理数据库,但第三方系统连接到相同的数据库并期望以本地时间找到日期时间,则必须设置此选项。
如果数据库后端支持时区(例如 PostgreSQL),则数据库连接的时区将设置为此值。
尽管设置
TIME_ZONE
选项很少需要,但在某些情况下是必要的。特别是,在处理涉及日期/时间函数(如PostgreSQL的date_trunc()
或generate_series()
)的原始查询时,尤其是在生成跨越夏令时转换的基于时间的序列时,建议与一般的TIME_ZONE
设置相匹配。此值可以随时更改,数据库将处理日期时间到已配置时区的转换。
但是,这有一个缺点:以本地时间接收所有日期时间会使日期时间运算更加棘手——您必须考虑夏令时转换期间可能的偏移变化。
考虑在原始SQL查询中使用
AT TIME ZONE
显式转换为本地时间,而不是设置TIME_ZONE
选项。
DISABLE_SERVER_SIDE_CURSORS
¶
默认值:False
如果您想禁用与QuerySet.iterator()
一起使用服务器端游标,请将其设置为True
。事务池和服务器端游标描述了用例。
这是一个PostgreSQL特定的设置。
USER
¶
默认值:''
(空字符串)
连接到数据库时使用的用户名。SQLite中不使用。
TEST
¶
默认值:{}
(空字典)
测试数据库设置的字典;有关测试数据库的创建和使用的更多详细信息,请参见测试数据库。
这是一个带有测试数据库配置的示例
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"USER": "mydatabaseuser",
"NAME": "mydatabase",
"TEST": {
"NAME": "mytestdatabase",
},
},
}
TEST
字典中可以使用以下键
CHARSET
¶
默认值:None
用于创建测试数据库的字符集编码。此字符串的值直接传递到数据库,因此其格式是特定于后端的。
受PostgreSQL(postgresql
)和MySQL(mysql
)后端支持。
COLLATION
¶
默认值:None
创建测试数据库时使用的排序顺序。此值直接传递到后端,因此其格式是特定于后端的。
仅支持mysql
后端(有关详细信息,请参见MySQL 手册)。
DEPENDENCIES
¶
默认值:['default']
,对于default
以外的所有数据库,它没有依赖项。
数据库的创建顺序依赖关系。有关详细信息,请参阅有关控制测试数据库的创建顺序的文档。
MIGRATE
¶
默认值:True
当设置为False
时,创建测试数据库时不会运行迁移。这类似于在MIGRATION_MODULES
中将None
作为值设置,但适用于所有应用程序。
MIRROR
¶
默认值:None
此数据库在测试期间应镜像的数据库的别名。它依赖于事务,因此必须在TransactionTestCase
中而不是TestCase
中使用。
此设置允许测试多个数据库的主/从(某些数据库称为主/从)配置。有关详细信息,请参阅有关测试主/从配置的文档。
NAME
¶
默认值:None
运行测试套件时要使用的数据库名称。
如果使用SQLite数据库引擎使用默认值(None
),则测试将使用内存驻留数据库。对于所有其他数据库引擎,测试数据库将使用名称'test_' + DATABASE_NAME
。
参见测试数据库。
TEMPLATE
¶
这是一个PostgreSQL特定的设置。
用于创建测试数据库的模板(例如'template0'
)的名称。
CREATE_DB
¶
默认值:True
这是一个Oracle特定的设置。
如果将其设置为False
,则测试表空间不会在测试开始时自动创建,也不会在测试结束时自动删除。
CREATE_USER
¶
默认值:True
这是一个Oracle特定的设置。
如果将其设置为False
,则测试用户不会在测试开始时自动创建,也不会在测试结束时自动删除。
USER
¶
默认值:None
这是一个Oracle特定的设置。
运行测试时连接到将使用的Oracle数据库时使用的用户名。如果未提供,Django将使用'test_' + USER
。
PASSWORD
¶
默认值:None
这是一个Oracle特定的设置。
运行测试时连接到将使用的Oracle数据库时使用的密码。如果未提供,Django将生成一个随机密码。
ORACLE_MANAGED_FILES
¶
默认值:False
这是一个Oracle特定的设置。
如果设置为True
,将使用Oracle Managed Files (OMF)表空间。DATAFILE
和DATAFILE_TMP
将被忽略。
TBLSPACE
¶
默认值:None
这是一个Oracle特定的设置。
运行测试时将使用的表空间的名称。如果未提供,Django将使用'test_' + USER
。
TBLSPACE_TMP
¶
默认值:None
这是一个Oracle特定的设置。
运行测试时将使用的临时表空间的名称。如果未提供,Django将使用'test_' + USER + '_temp'
。
DATAFILE
¶
默认值:None
这是一个Oracle特定的设置。
用于TBLSPACE的数据文件的名称。如果未提供,Django将使用TBLSPACE + '.dbf'
。
DATAFILE_TMP
¶
默认值:None
这是一个Oracle特定的设置。
用于TBLSPACE_TMP的数据文件的名称。如果未提供,Django将使用TBLSPACE_TMP + '.dbf'
。
DATAFILE_MAXSIZE
¶
默认值:'500M'
这是一个Oracle特定的设置。
DATAFILE允许增长到的最大大小。
DATAFILE_TMP_MAXSIZE
¶
默认值:'500M'
这是一个Oracle特定的设置。
DATAFILE_TMP允许增长到的最大大小。
DATAFILE_SIZE
¶
默认值:'50M'
这是一个Oracle特定的设置。
DATAFILE的初始大小。
DATAFILE_TMP_SIZE
¶
默认值:'50M'
这是一个Oracle特定的设置。
DATAFILE_TMP 的初始大小。
DATAFILE_EXTSIZE
¶
默认值:'25M'
这是一个Oracle特定的设置。
当需要更多空间时,DATAFILE 将扩展的量。
DATAFILE_TMP_EXTSIZE
¶
默认值:'25M'
这是一个Oracle特定的设置。
当需要更多空间时,DATAFILE_TMP 将扩展的量。
DATA_UPLOAD_MAX_MEMORY_SIZE
¶
默认值:2621440
(即 2.5 MB)。
请求正文在引发 SuspiciousOperation
(RequestDataTooBig
)之前的最大大小(以字节为单位)。此检查在访问 request.body
或 request.POST
时进行,并根据总请求大小计算,不包括任何文件上传数据。您可以将其设置为 None
以禁用此检查。预期接收异常大的表单提交的应用程序应调整此设置。
请求数据量与处理请求和填充 GET 和 POST 字典所需的内存量相关。如果未经检查,大型请求可能被用作拒绝服务攻击媒介。由于 Web 服务器通常不执行深入的请求检查,因此无法在该级别执行类似的检查。
DATA_UPLOAD_MAX_NUMBER_FIELDS
¶
默认值:1000
通过 GET 或 POST 接收的参数的最大数量,超过此数量将引发 SuspiciousOperation
(TooManyFields
)。您可以将其设置为 None
以禁用此检查。预期接收异常大量表单字段的应用程序应调整此设置。
请求参数的数量与处理请求和填充 GET 和 POST 字典所需的时间量相关。如果未经检查,大型请求可能被用作拒绝服务攻击媒介。由于 Web 服务器通常不执行深入的请求检查,因此无法在该级别执行类似的检查。
DATA_UPLOAD_MAX_NUMBER_FILES
¶
默认值:100
在 multipart/form-data
编码请求中,通过 POST 接收的文件的最大数量,超过此数量将引发 SuspiciousOperation
(TooManyFiles
)。您可以将其设置为 None
以禁用此检查。预期接收异常大量文件字段的应用程序应调整此设置。
已接受文件的数量与处理请求所需的时间和内存量相关。如果未经检查,大型请求可能被用作拒绝服务攻击媒介。由于 Web 服务器通常不执行深入的请求检查,因此无法在该级别执行类似的检查。
DATABASE_ROUTERS
¶
默认值:[]
(空列表)
将用于确定执行数据库查询时使用哪个数据库的路由器列表。
请参阅有关 多数据库配置中的自动数据库路由 的文档。
DATE_FORMAT
¶
默认值:'N j, Y'
(例如 Feb. 4, 2003
)
用于在系统的任何部分显示日期字段的默认格式。请注意,由区域设置决定的格式具有更高的优先级,并将被应用。请参阅 允许的日期格式字符串
。
DATE_INPUT_FORMATS
¶
默认值
[
"%Y-%m-%d", # '2006-10-25'
"%m/%d/%Y", # '10/25/2006'
"%m/%d/%y", # '10/25/06'
"%b %d %Y", # 'Oct 25 2006'
"%b %d, %Y", # 'Oct 25, 2006'
"%d %b %Y", # '25 Oct 2006'
"%d %b, %Y", # '25 Oct, 2006'
"%B %d %Y", # 'October 25 2006'
"%B %d, %Y", # 'October 25, 2006'
"%d %B %Y", # '25 October 2006'
"%d %B, %Y", # '25 October, 2006'
]
在输入日期字段数据时将接受的格式列表。将按顺序尝试格式,使用第一个有效的格式。请注意,这些格式字符串使用 Python 的 datetime 模块语法,而不是 date
模板过滤器中的格式字符串。
由区域设置决定的格式具有更高的优先级,并将被应用。
DATETIME_FORMAT
¶
默认值:'N j, Y, P'
(例如 Feb. 4, 2003, 4 p.m.
)
用于在系统的任何部分显示日期时间字段的默认格式。请注意,由区域设置决定的格式具有更高的优先级,并将被应用。请参阅 允许的日期格式字符串
。
DATETIME_INPUT_FORMATS
¶
默认值
[
"%Y-%m-%d %H:%M:%S", # '2006-10-25 14:30:59'
"%Y-%m-%d %H:%M:%S.%f", # '2006-10-25 14:30:59.000200'
"%Y-%m-%d %H:%M", # '2006-10-25 14:30'
"%m/%d/%Y %H:%M:%S", # '10/25/2006 14:30:59'
"%m/%d/%Y %H:%M:%S.%f", # '10/25/2006 14:30:59.000200'
"%m/%d/%Y %H:%M", # '10/25/2006 14:30'
"%m/%d/%y %H:%M:%S", # '10/25/06 14:30:59'
"%m/%d/%y %H:%M:%S.%f", # '10/25/06 14:30:59.000200'
"%m/%d/%y %H:%M", # '10/25/06 14:30'
]
在输入日期时间字段数据时将接受的格式列表。将按顺序尝试格式,使用第一个有效的格式。请注意,这些格式字符串使用 Python 的 datetime 模块语法,而不是 date
模板过滤器中的格式字符串。仅日期格式不包含在内,因为日期时间字段将自动尝试 DATE_INPUT_FORMATS
作为最后手段。
由区域设置决定的格式具有更高的优先级,并将被应用。
另请参见 DATE_INPUT_FORMATS
和 TIME_INPUT_FORMATS
。
DEBUG
¶
默认值:False
一个布尔值,用于启用/禁用调试模式。
切勿在生产环境中部署启用了 DEBUG
的站点。
调试模式的主要功能之一是显示详细的错误页面。如果您的应用程序在 DEBUG
为 True
时引发异常,Django 将显示详细的回溯信息,包括有关您的环境的大量元数据,例如所有当前定义的 Django 设置(来自 settings.py
)。
作为一项安全措施,Django 不会包含可能敏感的设置,例如 SECRET_KEY
。具体来说,它将排除任何名称包含以下任何内容的设置:
“API”
“KEY”
“PASS”
“SECRET”
“SIGNATURE”
“TOKEN”
请注意,这些是部分匹配。“PASS”也将匹配PASSWORD,就像“TOKEN”也将匹配TOKENIZED等等。
但是,请注意,调试输出中总会有不适合公开的内容。文件路径、配置选项等都会为攻击者提供有关您的服务器的额外信息。
同样重要的是要记住,当运行 DEBUG
打开时,Django 将记住它执行的每个 SQL 查询。这在调试时非常有用,但在生产服务器上会迅速消耗内存。
最后,如果 DEBUG
为 False
,你还需要正确设置 ALLOWED_HOSTS
设置。否则,所有请求都将返回“错误请求 (400)”。
注意
django-admin startproject
创建的默认 settings.py
文件为方便起见将 DEBUG = True
。
DEBUG_PROPAGATE_EXCEPTIONS
¶
默认值:False
如果设置为 True
,则将跳过 Django 对视图函数的异常处理(handler500
,或者如果 DEBUG
为 True
则为调试视图)以及 500 响应的日志记录(django.request),异常将向上传播。
这对于某些测试设置很有用。除非您希望 Web 服务器(而不是 Django)生成“内部服务器错误”响应,否则不应在实时站点上使用它。在这种情况下,请确保您的服务器不会在响应中显示堆栈跟踪或其他敏感信息。
DECIMAL_SEPARATOR
¶
默认值:'.'
(点)
格式化十进制数时使用的默认十进制分隔符。
请注意,区域设置确定的格式具有更高的优先级,并将被应用。
另请参见 NUMBER_GROUPING
、THOUSAND_SEPARATOR
和 USE_THOUSAND_SEPARATOR
。
DEFAULT_AUTO_FIELD
¶
默认值:'
django.db.models.AutoField
'
对于没有 primary_key=True
字段的模型使用的默认主键字段类型。
DEFAULT_CHARSET
¶
默认值:'utf-8'
如果没有手动指定 MIME 类型,则所有 HttpResponse
对象使用的默认字符集。用于构造 Content-Type
标头。
DEFAULT_EXCEPTION_REPORTER
¶
默认值:'
django.views.debug.ExceptionReporter
'
如果尚未为 HttpRequest
实例分配任何异常报告程序类,则使用此默认异常报告程序类。参见 自定义错误报告。
DEFAULT_EXCEPTION_REPORTER_FILTER
¶
默认值:'
django.views.debug.SafeExceptionReporterFilter
'
如果尚未为 HttpRequest
实例分配任何异常报告程序过滤器类,则使用此默认异常报告程序过滤器类。参见 过滤错误报告。
DEFAULT_FROM_EMAIL
¶
默认值:'webmaster@localhost'
站点管理员的自动化通信的默认电子邮件地址。此地址用于发件邮件的 From:
标头,并且可以采用所选电子邮件发送协议中有效的任何格式。
这不会影响发送给 ADMINS
和 MANAGERS
的错误消息。有关此信息,请参见 SERVER_EMAIL
。
DEFAULT_INDEX_TABLESPACE
¶
默认值:''
(空字符串)
如果后端支持(请参见 表空间),则用于未指定表空间的字段的索引的默认表空间。
DEFAULT_TABLESPACE
¶
默认值:''
(空字符串)
如果后端支持(请参见 表空间),则用于未指定表空间的模型的默认表空间。
DISALLOWED_USER_AGENTS
¶
默认值:[]
(空列表)
表示不允许访问任何页面的用户代理字符串的已编译正则表达式对象列表,系统范围。将其用于机器人/爬虫。仅当安装了 CommonMiddleware
时才使用此项(请参见 中间件)。
EMAIL_BACKEND
¶
默认值:'
django.core.mail.backends.smtp.EmailBackend
'
用于发送电子邮件的后端。有关可用后端的列表,请参见 电子邮件后端。
EMAIL_FILE_PATH
¶
默认值:未定义
文件电子邮件后端 用于存储输出文件的目录。
EMAIL_HOST
¶
默认值:'localhost'
用于发送电子邮件的主机。
另见 EMAIL_PORT
。
EMAIL_HOST_PASSWORD
¶
默认值:''
(空字符串)
用于在 EMAIL_HOST
中定义的 SMTP 服务器的密码。此设置与 EMAIL_HOST_USER
结合使用,用于对 SMTP 服务器进行身份验证。如果这两个设置中的任何一个为空,Django 不会尝试身份验证。
另见 EMAIL_HOST_USER
。
EMAIL_HOST_USER
¶
默认值:''
(空字符串)
用于在 EMAIL_HOST
中定义的 SMTP 服务器的用户名。如果为空,Django 不会尝试身份验证。
EMAIL_PORT
¶
默认值:25
用于在 EMAIL_HOST
中定义的 SMTP 服务器的端口。
EMAIL_SUBJECT_PREFIX
¶
默认值:'[Django] '
使用 django.core.mail.mail_admins
或 django.core.mail.mail_managers
发送的电子邮件的主题行前缀。您可能需要包含尾随空格。
EMAIL_USE_LOCALTIME
¶
默认值:False
是否以本地时区 (True
) 或 UTC (False
) 发送电子邮件的 SMTP Date
标头。
EMAIL_USE_TLS
¶
默认值:False
是否在与 SMTP 服务器通信时使用 TLS(安全)连接。这用于显式 TLS 连接,通常在 587 端口上。如果您遇到连接挂起的情况,请参阅隐式 TLS 设置 EMAIL_USE_SSL
。
EMAIL_USE_SSL
¶
默认值:False
是否在与 SMTP 服务器通信时使用隐式 TLS(安全)连接。在大多数电子邮件文档中,这种类型的 TLS 连接被称为 SSL。它通常在 465 端口上使用。如果您遇到问题,请参阅显式 TLS 设置 EMAIL_USE_TLS
。
请注意,EMAIL_USE_TLS
/EMAIL_USE_SSL
是互斥的,因此只需将其中一个设置设置为 True
。
EMAIL_SSL_CERTFILE
¶
默认值:None
如果 EMAIL_USE_SSL
或 EMAIL_USE_TLS
为 True
,您可以选择指定要用于 SSL 连接的 PEM 格式证书链文件的路径。
EMAIL_SSL_KEYFILE
¶
默认值:None
如果 EMAIL_USE_SSL
或 EMAIL_USE_TLS
为 True
,您可以选择指定要用于 SSL 连接的 PEM 格式私钥文件的路径。
请注意,设置 EMAIL_SSL_CERTFILE
和 EMAIL_SSL_KEYFILE
不会导致任何证书检查。它们被传递给底层的 SSL 连接。有关如何处理证书链文件和私钥文件的详细信息,请参阅 Python 的 ssl.SSLContext.wrap_socket()
函数的文档。
EMAIL_TIMEOUT
¶
默认值:None
指定阻塞操作(如连接尝试)的超时时间(以秒为单位)。
FILE_UPLOAD_HANDLERS
¶
默认值
[
"django.core.files.uploadhandler.MemoryFileUploadHandler",
"django.core.files.uploadhandler.TemporaryFileUploadHandler",
]
用于上传的一组处理程序。更改此设置允许完全自定义——甚至替换——Django 的上传过程。
详情请参阅 文件管理。
FILE_UPLOAD_MAX_MEMORY_SIZE
¶
默认值:2621440
(即 2.5 MB)。
上传文件在被流式传输到文件系统之前,其最大大小(以字节为单位)。详情请参阅 文件管理。
FILE_UPLOAD_DIRECTORY_PERMISSIONS
¶
默认值:None
应用于上传文件过程中创建的目录的数字模式。
此设置还决定了使用 collectstatic
管理命令时收集的静态目录的默认权限。有关覆盖它的详细信息,请参阅 collectstatic
。
此值反映了 FILE_UPLOAD_PERMISSIONS
设置的功能和警告。
FILE_UPLOAD_PERMISSIONS
¶
默认值:0o644
要设置为新上传文件的数字模式(即 0o644
)。有关这些模式含义的更多信息,请参阅 os.chmod()
的文档。
如果为 None
,您将获得操作系统相关的行为。在大多数平台上,临时文件的模式将为 0o600
,从内存保存的文件将使用系统的标准 umask 保存。
出于安全原因,这些权限不适用于存储在 FILE_UPLOAD_TEMP_DIR
中的临时文件。
此设置还决定了使用 collectstatic
管理命令时收集的静态文件的默认权限。有关覆盖它的详细信息,请参阅 collectstatic
。
警告
**始终以** 0o
**为模式前缀。**
如果您不熟悉文件模式,请注意 0o
前缀非常重要:它表示八进制数,这是必须指定模式的方式。如果您尝试使用 644
,您将得到完全不正确的行为。
FILE_UPLOAD_TEMP_DIR
¶
默认值:None
用于临时存储数据(通常是大于 FILE_UPLOAD_MAX_MEMORY_SIZE
的文件)的目录,以便在上传文件时使用。如果为 None
,Django 将使用操作系统的标准临时目录。例如,这将在类 Unix 操作系统上默认为 /tmp
。
详情请参阅 文件管理。
FIRST_DAY_OF_WEEK
¶
默认值:0
(星期日)
表示一周的第一天的数字。这在显示日历时特别有用。此值仅在不使用格式国际化或当前区域设置找不到格式时使用。
该值必须是 0 到 6 之间的整数,其中 0 表示星期日,1 表示星期一,依此类推。
FIXTURE_DIRS
¶
默认值:[]
(空列表)
除了每个应用程序的 fixtures
目录外,还搜索 fixture 文件的目录列表,按搜索顺序排列。
请注意,即使在 Windows 上,这些路径也应使用 Unix 风格的正斜杠。
请参阅 使用 fixture 提供数据 和 Fixture 加载。
FORCE_SCRIPT_NAME
¶
默认值:None
如果非 None
,这将用作任何 HTTP 请求中 SCRIPT_NAME
环境变量的值。此设置可用于覆盖服务器提供的 SCRIPT_NAME
值,该值可能是首选值的重写版本,也可能根本没有提供。它也由 django.setup()
用于在请求/响应周期之外(例如,在管理命令和独立脚本中)设置 URL 解析器的脚本前缀,以便在提供 FORCE_SCRIPT_NAME
时生成正确的 URL。
FORM_RENDERER
¶
默认值:'
django.forms.renderers.DjangoTemplates
'
渲染表单和表单小部件的类。它必须实现 低级渲染 API。包含的表单渲染器包括:
FORMS_URLFIELD_ASSUME_HTTPS
¶
自 5.0 版本起已弃用。
默认值:False
将此过渡设置设置为 True
以选择在 Django 5.x 版本周期中使用 "https"
作为 URLField.assume_scheme
的新默认值。
FORMAT_MODULE_PATH
¶
默认值:None
包含项目区域设置的自定义格式定义的 Python 包的完整 Python 路径。如果非 None
,Django 将检查当前区域设置命名的目录下是否存在 formats.py
文件,并将使用此文件中定义的格式。
包含格式定义的目录的名称应使用 区域设置名称 表示法,例如 de
、pt_BR
、en_US
等。
例如,如果 FORMAT_MODULE_PATH
设置为 mysite.formats
,并且当前语言为 en
(英语),Django 将期望一个类似的目录树:
mysite/
formats/
__init__.py
en/
__init__.py
formats.py
您也可以将此设置设置为 Python 路径列表,例如:
FORMAT_MODULE_PATH = [
"mysite.formats",
"some_app.formats",
]
当 Django 搜索某个特定格式时,它将遍历所有给定的 Python 路径,直到找到实际定义该格式的模块。这意味着列表中靠前的包中定义的格式将优先于列表中靠后的包中定义的相同格式。
可用的格式包括:
IGNORABLE_404_URLS
¶
默认值:[]
(空列表)
描述应在通过电子邮件报告 HTTP 404 错误时忽略的 URL 的已编译正则表达式对象列表(参见 如何管理错误报告)。正则表达式与 request 的完整路径
(包括查询字符串,如果存在)匹配。如果您的站点没有提供常用的文件,例如 favicon.ico
或 robots.txt
,则可以使用此设置。
只有在启用 BrokenLinkEmailsMiddleware
时才使用此设置(参见 中间件)。
INSTALLED_APPS
¶
默认值:[]
(空列表)
一个字符串列表,指定在此 Django 安装中启用的所有应用程序。每个字符串都应该是指向:
应用程序配置类(推荐),或
包含应用程序的包。
使用应用程序注册表进行内省
您的代码永远不应该直接访问 INSTALLED_APPS
。请改用 django.apps.apps
。
应用程序名称和标签在 INSTALLED_APPS
中必须唯一
应用程序 名称
(应用程序包的点分 Python 路径)必须唯一。除了使用不同的名称复制其代码外,没有办法两次包含同一个应用程序。
应用程序 标签
(默认为名称的最后一部分)也必须唯一。例如,您不能同时包含 django.contrib.auth
和 myproject.auth
。但是,您可以使用定义了不同 label
的自定义配置来重新标记应用程序。
无论 INSTALLED_APPS
是否引用应用程序配置类或应用程序包,这些规则都适用。
当多个应用程序提供相同资源(模板、静态文件、管理命令、翻译)的不同版本时,INSTALLED_APPS
中列出的第一个应用程序优先。
INTERNAL_IPS
¶
默认值:[]
(空列表)
IP 地址列表(作为字符串),它们:
允许
debug()
上下文处理器向模板上下文添加一些变量。即使未登录为工作人员用户,也可以使用 admindocs 书签。
在
AdminEmailHandler
电子邮件中标记为“内部”(而不是“外部”)。
LANGUAGE_CODE
¶
默认值:'en-us'
表示此安装的语言代码的字符串。这应该采用标准的 语言 ID 格式。例如,美国英语是 "en-us"
。另请参见 语言标识符列表 和 国际化和本地化。
它有三个用途:
如果未使用区域设置中间件,它将决定向所有用户提供哪个翻译。
如果区域设置中间件处于活动状态,如果无法确定用户的首选语言或网站不支持用户的首选语言,它将提供备用语言。对于给定文本,如果用户的首选语言没有翻译,它也会提供备用翻译。
如果通过
unlocalize
过滤器或{% localize off %}
标签显式禁用本地化,它将提供替代的备用本地化格式。有关详细信息,请参见 在模板中控制本地化。
有关详细信息,请参见 Django 如何发现语言偏好。
LANGUAGES
¶
默认值:所有可用语言的列表。此列表不断增长,在此处包含副本将不可避免地很快过时。您可以查看 django/conf/global_settings.py 中当前已翻译语言的列表。
该列表是一个 2 元组列表,格式为(语言代码,语言 名称
)——例如,('ja', 'Japanese')
。这指定了哪些语言可用于语言选择。参见 国际化和本地化。
通常,默认值就足够了。只有当您想将语言选择限制为 Django 提供的语言的子集时,才设置此设置。
如果您定义了自定义的 LANGUAGES
设置,您可以使用 gettext_lazy()
函数将语言名称标记为翻译字符串。
这是一个示例设置文件
from django.utils.translation import gettext_lazy as _
LANGUAGES = [
("de", _("German")),
("en", _("English")),
]
LANGUAGES_BIDI
¶
默认值:所有从右到左书写的语言代码的列表。您可以查看 django/conf/global_settings.py 中当前这些语言的列表。
该列表包含从右到左书写的语言的 语言代码。
通常,默认值就足够了。只有当您想将语言选择限制为 Django 提供的语言的子集时,才设置此设置。如果您定义了自定义的 LANGUAGES
设置,则双向语言列表可能包含在给定站点上未启用的语言代码。
LOCALE_PATHS
¶
默认值:[]
(空列表)
Django 在其中查找翻译文件的目录列表。参见 Django 如何发现翻译。
示例
LOCALE_PATHS = [
"/home/www/project/common_files/locale",
"/var/local/translations/locale",
]
Django 将在这些路径中的每一个中查找包含实际翻译文件的 <locale_code>/LC_MESSAGES
目录。
LOGGING
¶
默认值:日志配置字典。
包含配置信息的數據結構。如果非空,此數據結構的內容將作為參數傳遞給 LOGGING_CONFIG
中描述的配置方法。
除其他事项外,默认日志配置在 DEBUG
为 False
时,将 HTTP 500 服务器错误传递给电子邮件日志处理程序。另请参见 配置日志记录。
您可以查看 django/utils/log.py 中的默认日志配置。
LOGGING_CONFIG
¶
默认值:'logging.config.dictConfig'
将用于配置 Django 项目中日志记录的可调用对象的路径。默认情况下指向 Python 的 dictConfig 配置方法的实例。
如果将 LOGGING_CONFIG
设置为 None
,则日志记录配置过程将被跳过。
MANAGERS
¶
默认值:[]
(空列表)
一个列表,其格式与 ADMINS
相同,用于指定在启用 BrokenLinkEmailsMiddleware
时应该接收损坏链接通知的人员。
MEDIA_ROOT
¶
默认值:''
(空字符串)
将保存 用户上传的文件 的目录的绝对文件系统路径。
示例:"/var/www/example.com/media/"
另请参见 MEDIA_URL
。
警告
MEDIA_ROOT
和 STATIC_ROOT
必须具有不同的值。在引入 STATIC_ROOT
之前,通常依赖或回退到 MEDIA_ROOT
也用于提供静态文件;但是,由于这可能带来严重的安全性问题,因此存在一个验证检查以防止这种情况。
MEDIA_URL
¶
默认值:''
(空字符串)
处理从 MEDIA_ROOT
提供的媒体的 URL,用于 管理存储的文件。如果设置为非空值,则必须以斜杠结尾。您需要 配置这些文件以便在开发和生产环境中提供服务。
如果要在模板中使用 {{ MEDIA_URL }}
,请在 TEMPLATES
的 'context_processors'
选项中添加 'django.template.context_processors.media'
。
示例:"https://media.example.com/"
警告
如果您接受来自不受信任用户的上传内容,则存在安全风险!有关缓解细节,请参阅安全指南中有关 用户上传的内容 的主题。
警告
MEDIA_URL
和 STATIC_URL
必须具有不同的值。有关更多详细信息,请参见 MEDIA_ROOT
。
注意
如果MEDIA_URL
是相对路径,则服务器提供的SCRIPT_NAME
值(如果未设置,则为/
)将作为前缀。这使得在子路径中提供Django应用程序服务更容易,而无需向设置添加额外的配置。
MIDDLEWARE
¶
默认值:None
要使用的中间件列表。参见Middleware。
MIGRATION_MODULES
¶
默认值:{}
(空字典)
一个字典,指定每个应用迁移模块所在的包。此设置的默认值为空字典,但迁移模块的默认包名称为migrations
。
示例
{"blog": "blog.db_migrations"}
在这种情况下,与blog
应用相关的迁移将包含在blog.db_migrations
包中。
如果提供app_label
参数,makemigrations
将自动创建该包(如果它尚不存在)。
当您为某个应用提供None
作为值时,Django 将认为该应用是没有迁移的应用,无论是否存在migrations
子模块。例如,这可以用于测试设置文件以跳过测试期间的迁移(仍然会为应用的模型创建表)。要禁用测试期间所有应用的迁移,可以将MIGRATE
设置为False
。如果在常规项目设置中使用了MIGRATION_MODULES
,请记住使用migrate --run-syncdb
选项,如果您想为该应用创建表。
MONTH_DAY_FORMAT
¶
默认值:'F j'
在仅显示月份和日期的情况下,Django 管理员变更列表页面上(以及系统其他部分)用于日期字段的默认格式。
例如,当Django管理员变更列表页面按日期细分进行筛选时,给定日期的标题显示日期和月份。不同的语言环境具有不同的格式。例如,美国英语会说“1月1日”,而西班牙语可能会说“1月1日”。
请注意,相应的语言环境确定的格式具有更高的优先级,并将被应用。
参见allowed date format strings
。另见DATE_FORMAT
、DATETIME_FORMAT
、TIME_FORMAT
和YEAR_MONTH_FORMAT
。
NUMBER_GROUPING
¶
默认值:0
数字整数部分中分组在一起的数字位数。
常见的用途是显示千位分隔符。如果此设置为0
,则不会对数字应用任何分组。如果此设置大于0
,则THOUSAND_SEPARATOR
将用作这些组之间的分隔符。
某些语言环境使用非统一数字分组,例如en_IN
中的10,00,00,000
。对于这种情况,您可以提供一个序列,其中包含要应用的数字分组大小。第一个数字定义小数分隔符之前的组的大小,每个后续数字定义前面组的大小。如果序列以-1
结尾,则不执行进一步的分组。如果序列以0
结尾,则最后一个组大小将用于数字的其余部分。
en_IN
的示例元组
NUMBER_GROUPING = (3, 2, 0)
请注意,区域设置确定的格式具有更高的优先级,并将被应用。
另见DECIMAL_SEPARATOR
、THOUSAND_SEPARATOR
和USE_THOUSAND_SEPARATOR
。
PREPEND_WWW
¶
默认值:False
是否在没有“www.”子域的URL前面添加“www.”子域。只有在安装了CommonMiddleware
时才使用此设置(参见Middleware)。另见APPEND_SLASH
。
ROOT_URLCONF
¶
默认值:未定义
表示根URLconf的完整Python导入路径的字符串,例如"mydjangoapps.urls"
。可以通过在传入的HttpRequest
对象上设置属性urlconf
来按每个请求覆盖它。详情请参见How Django processes a request。
SECRET_KEY
¶
默认值:''
(空字符串)
特定Django安装的密钥。它用于提供cryptographic signing,应将其设置为唯一且不可预测的值。
django-admin startproject
会自动向每个新项目添加一个随机生成的SECRET_KEY
。
密钥的使用不应假设它是文本或字节。每次使用都应通过force_str()
或force_bytes()
将其转换为所需的类型。
如果未设置SECRET_KEY
,Django将拒绝启动。
密钥用于:
所有sessions,如果您使用的是除
django.contrib.sessions.backends.cache
之外的任何其他会话后端,或者正在使用默认的get_session_auth_hash()
。所有messages,如果您使用的是
CookieStorage
或FallbackStorage
。所有
PasswordResetView
令牌。任何cryptographic signing的使用,除非提供了不同的密钥。
当密钥不再设置为SECRET_KEY
或包含在SECRET_KEY_FALLBACKS
中时,以上所有内容都将失效。旋转密钥时,应暂时将旧密钥移动到SECRET_KEY_FALLBACKS
。密钥不用于用户的密码,密钥旋转不会影响它们。
注意
由django-admin startproject
创建的默认settings.py
文件为了方便起见会创建一个唯一的SECRET_KEY
。
SECRET_KEY_FALLBACKS
¶
默认值:[]
特定Django安装的一系列备用密钥。这些用于允许SECRET_KEY
的旋转。
为了旋转密钥,请设置一个新的SECRET_KEY
并将以前的值移动到SECRET_KEY_FALLBACKS
的开头。然后,当您准备好使使用它们的会话、密码重置令牌等过期时,从SECRET_KEY_FALLBACKS
的末尾删除旧值。
注意
签名操作在计算上代价很高。在SECRET_KEY_FALLBACKS
中有多个旧密钥值会增加所有与早期密钥不匹配的检查的额外开销。
因此,应该在适当的时间段后删除备用值,以允许密钥旋转。
使用密钥值时,不应假设它们是文本或字节。每次使用都应通过force_str()
或 force_bytes()
将其转换为所需类型。
SECURE_CONTENT_TYPE_NOSNIFF
¶
默认值:True
如果设置为True
,则SecurityMiddleware
会在所有尚未设置此标头的响应中设置X-Content-Type-Options: nosniff 标头。
SECURE_CROSS_ORIGIN_OPENER_POLICY
¶
默认值:'same-origin'
除非设置为None
,否则SecurityMiddleware
会在所有尚未设置此标头的响应中设置Cross-Origin Opener Policy 标头,其值为提供的配置值。
SECURE_HSTS_INCLUDE_SUBDOMAINS
¶
默认值:False
如果设置为True
,则SecurityMiddleware
会向HTTP Strict Transport Security 标头添加includeSubDomains
指令。除非SECURE_HSTS_SECONDS
设置为非零值,否则此设置无效。
警告
错误设置此项可能会不可逆转地(对于SECURE_HSTS_SECONDS
的值而言)破坏您的网站。请先阅读HTTP Strict Transport Security 文档。
SECURE_HSTS_PRELOAD
¶
默认值:False
如果设置为True
,则SecurityMiddleware
会向HTTP Strict Transport Security 标头添加preload
指令。除非SECURE_HSTS_SECONDS
设置为非零值,否则此设置无效。
SECURE_HSTS_SECONDS
¶
默认值:0
如果设置为非零整数值,则SecurityMiddleware
会在所有尚未设置此标头的响应中设置HTTP Strict Transport Security 标头。
警告
错误设置此项可能会不可逆转地(在一段时间内)破坏您的网站。请先阅读HTTP Strict Transport Security 文档。
SECURE_PROXY_SSL_HEADER
¶
默认值:None
一个元组,表示表示请求安全的 HTTP 标头/值组合。这控制请求对象的is_secure()
方法的行为。
默认情况下,is_secure()
通过确认请求的 URL 使用https://
来确定请求是否安全。此方法对于 Django 的 CSRF 保护非常重要,您的代码或第三方应用程序也可能使用它。
但是,如果您的 Django 应用程序位于代理服务器之后,则代理服务器可能会“隐藏”原始请求是否使用 HTTPS。如果代理服务器和 Django 之间存在非 HTTPS 连接,则is_secure()
将始终返回False
— 即使最终用户通过 HTTPS 发出请求也是如此。相反,如果代理服务器和 Django 之间存在 HTTPS 连接,则is_secure()
将始终返回True
— 即使最初通过 HTTP 发出请求也是如此。
在这种情况下,请配置您的代理服务器以设置自定义 HTTP 标头,以告知 Django 请求是通过 HTTPS 发出的,并设置SECURE_PROXY_SSL_HEADER
,以便 Django 知道要查找哪个标头。
设置一个包含两个元素的元组——要查找的标头的名称和所需的值。例如
SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
这告诉 Django 信任来自我们代理服务器的X-Forwarded-Proto
标头,并且当
标头值为
'https'
时,请求保证安全(即,它最初是通过 HTTPS 发出的),或者对于逗号分隔的协议列表(例如
'https,http,http'
),其初始的、最左边的值为'https'
。
只有在您控制代理服务器或对它是否适当地设置/去除此标头有其他保证时,才应设置此设置。
请注意,标头需要采用request.META
使用的格式——全部大写,并且可能以HTTP_
开头。(请记住,Django 会自动在 x-header 名称的开头添加'HTTP_'
,然后才能在request.META
中使用标头。)
警告
修改此设置可能会危及您网站的安全性。请确保在更改之前完全了解您的设置。
在设置此项之前(假设使用上面的示例值),请确保以下所有条件都为真:
您的 Django 应用程序位于代理服务器之后。
您的代理服务器会去除所有传入请求中的
X-Forwarded-Proto
标头,即使它包含逗号分隔的协议列表也是如此。换句话说,如果最终用户在其请求中包含该标头,代理服务器将将其丢弃。您的代理服务器会设置
X-Forwarded-Proto
标头并将其发送到 Django,但仅限于最初通过 HTTPS 传入的请求。
如果上述任何条件不为真,则应将此设置保持为None
,并找到另一种确定 HTTPS 的方法,例如通过自定义中间件。
SECURE_REDIRECT_EXEMPT
¶
默认值:[]
(空列表)
如果 URL 路径与此列表中的正则表达式匹配,则不会将请求重定向到 HTTPS。SecurityMiddleware
会去除 URL 路径开头的斜杠,因此模式不应包含它们,例如SECURE_REDIRECT_EXEMPT = [r'^no-ssl/$', …]
。如果SECURE_SSL_REDIRECT
为False
,则此设置无效。
SECURE_REFERRER_POLICY
¶
默认值:'same-origin'
如果已配置,则SecurityMiddleware
会在所有尚未设置此标头的响应中设置Referrer Policy 标头,其值为提供的配置值。
SECURE_SSL_HOST
¶
默认值:None
如果为字符串(例如secure.example.com
),则所有 SSL 重定向都将定向到此主机,而不是最初请求的主机(例如www.example.com
)。如果SECURE_SSL_REDIRECT
为False
,则此设置无效。
SECURE_SSL_REDIRECT
¶
默认值:False
如果设置为True
,则SecurityMiddleware
会重定向所有非 HTTPS 请求到 HTTPS(但不包括与SECURE_REDIRECT_EXEMPT
中列出的正则表达式匹配的那些 URL)。
注意
如果将其设置为True
导致无限重定向,则可能意味着您的网站运行在代理服务器之后,无法判断哪些请求是安全的,哪些不是。您的代理服务器可能设置了一个标头来指示安全的请求;您可以通过找出该标头是什么并相应地配置SECURE_PROXY_SSL_HEADER
设置来纠正此问题。
SERIALIZATION_MODULES
¶
默认值:未定义
包含序列化程序定义(作为字符串提供)的模块字典,以该序列化类型的字符串标识符作为键。例如,要定义 YAML 序列化程序,请使用
SERIALIZATION_MODULES = {"yaml": "path.to.yaml_serializer"}
SERVER_EMAIL
¶
默认值:'root@localhost'
错误消息发出的电子邮件地址,例如发送给ADMINS
和MANAGERS
的那些消息。此地址用于From:
标头,并且可以采用所选电子邮件发送协议中有效的任何格式。
为什么我的电子邮件是从不同的地址发送的?
此地址仅用于错误消息。它不是使用send_mail()
发送常规电子邮件的地址;有关该地址,请参见DEFAULT_FROM_EMAIL
。
SHORT_DATE_FORMAT
¶
默认值:'m/d/Y'
(例如 12/31/2003
)
可在模板中用于显示日期字段的可用格式。请注意,相应的区域设置指定的格式具有更高的优先级,并将被应用。参见allowed date format strings
。
另请参见DATE_FORMAT
和 SHORT_DATETIME_FORMAT
。
SHORT_DATETIME_FORMAT
¶
默认值:'m/d/Y P'
(例如 12/31/2003 4 p.m.
)
可在模板中用于显示日期时间字段的可用格式。请注意,相应的区域设置指定的格式具有更高的优先级,并将被应用。参见allowed date format strings
。
另请参见DATE_FORMAT
和 SHORT_DATE_FORMAT
。
SIGNING_BACKEND
¶
默认值:'django.core.signing.TimestampSigner'
用于签名cookie和其他数据的后端。
另请参见加密签名文档。
SILENCED_SYSTEM_CHECKS
¶
默认值:[]
(空列表)
系统检查框架生成的(例如 ["models.W001"]
)消息标识符列表,您希望永久确认并忽略这些消息。静默检查不会输出到控制台。
另请参见系统检查框架文档。
STORAGES
¶
默认值
{
"default": {
"BACKEND": "django.core.files.storage.FileSystemStorage",
},
"staticfiles": {
"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage",
},
}
包含要与Django一起使用的所有存储设置的字典。它是一个嵌套字典,其内容将存储别名映射到包含单个存储选项的字典。
存储可以拥有您选择的任何别名。但是,有两个别名具有特殊的意义:
default
用于管理文件。'
django.core.files.storage.FileSystemStorage
'
是默认的存储引擎。staticfiles
用于管理静态文件。'
django.contrib.staticfiles.storage.StaticFilesStorage
'
是默认的存储引擎。
下面是一个定义名为example
的自定义文件存储的settings.py
代码片段示例:
STORAGES = {
# ...
"example": {
"BACKEND": "django.core.files.storage.FileSystemStorage",
"OPTIONS": {
"location": "/example",
"base_url": "/example/",
},
},
}
OPTIONS
在**kwargs
中初始化时传递给BACKEND
。
可以从django.core.files.storage.storages
检索存储后端的可用实例。使用与STORAGES
中的后端定义相对应的键。
我的值是否与默认值合并?
定义此设置将覆盖默认值,并且不会与之合并。
TEMPLATES
¶
默认值:[]
(空列表)
包含要与Django一起使用的所有模板引擎设置的列表。列表的每个项目都是一个字典,包含单个引擎的选项。
这是一个设置,它告诉Django模板引擎从每个已安装应用程序内的templates
子目录加载模板:
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"APP_DIRS": True,
},
]
以下选项可用于所有后端。
BACKEND
¶
默认值:未定义
要使用的模板后端。内置模板后端为:
'django.template.backends.django.DjangoTemplates'
'django.template.backends.jinja2.Jinja2'
您可以通过将BACKEND
设置为完全限定的路径(例如 'mypackage.whatever.Backend'
)来使用不随Django一起提供的模板后端。
NAME
¶
默认值:见下文
此特定模板引擎的别名。它是一个标识符,允许选择用于渲染的引擎。别名在所有已配置的模板引擎中必须唯一。
如果未提供,它默认为定义引擎类的模块名称,即BACKEND
的倒数第二个部分。例如,如果后端是'mypackage.whatever.Backend'
,则其默认名称为'whatever'
。
DIRS
¶
默认值:[]
(空列表)
引擎应按搜索顺序查找模板源文件的目录。
APP_DIRS
¶
默认值:False
引擎是否应在已安装的应用程序内查找模板源文件。
注意
由django-admin startproject
创建的默认settings.py
文件设置'APP_DIRS': True
。
OPTIONS
¶
默认值:{}
(空字典)
要传递给模板后端的额外参数。可用参数取决于模板后端。有关内置后端的选项,请参见DjangoTemplates
和 Jinja2
。
TEST_RUNNER
¶
默认值:'django.test.runner.DiscoverRunner'
用于启动测试套件的类的名称。参见使用不同的测试框架。
TEST_NON_SERIALIZED_APPS
¶
默认值:[]
(空列表)
为了在TransactionTestCase
和没有事务的数据库后端的测试之间恢复数据库状态,Django将在启动测试运行时序列化所有应用程序的内容,以便它可以在运行需要它的测试之前从该副本重新加载。
这会减慢测试运行程序的启动时间;如果您知道某些应用程序不需要此功能,则可以将其全名添加到此处(例如 'django.contrib.contenttypes'
)以将其从此序列化过程中排除。
THOUSAND_SEPARATOR
¶
默认值:','
(逗号)
格式化数字时使用的默认千位分隔符。仅当USE_THOUSAND_SEPARATOR
为 True
且 NUMBER_GROUPING
大于 0
时使用此设置。
请注意,区域设置确定的格式具有更高的优先级,并将被应用。
另请参见NUMBER_GROUPING
、DECIMAL_SEPARATOR
和 USE_THOUSAND_SEPARATOR
。
TIME_FORMAT
¶
默认值:'P'
(例如 4 p.m.
)
用于在系统的任何部分显示时间字段的默认格式。请注意,区域设置指定的格式具有更高的优先级,并将被应用。参见allowed date format strings
。
另请参见DATE_FORMAT
和 DATETIME_FORMAT
。
TIME_INPUT_FORMATS
¶
默认值
[
"%H:%M:%S", # '14:30:59'
"%H:%M:%S.%f", # '14:30:59.000200'
"%H:%M", # '14:30'
]
输入时间字段数据时将接受的格式列表。将按顺序尝试这些格式,使用第一个有效的格式。请注意,这些格式字符串使用 Python 的 datetime 模块语法,而不是 date
模板过滤器中的格式字符串。
由区域设置决定的格式具有更高的优先级,并将被应用。
TIME_ZONE
¶
默认值:'America/Chicago'
表示此安装时区的字符串。请参见 时区列表。
注意
由于 Django 最初发布时 TIME_ZONE
设置为 'America/Chicago'
,因此全局设置(如果在项目的 settings.py
中未定义任何内容,则使用)为了向后兼容性仍然保留为 'America/Chicago'
。新的项目模板默认为 'UTC'
。
请注意,这不一定是服务器的时区。例如,一台服务器可以为多个 Django 驱动的站点提供服务,每个站点都有单独的时区设置。
当 USE_TZ
为 False
时,这是 Django 将存储所有日期时间的时区。当 USE_TZ
为 True
时,这是 Django 用于在模板中显示日期时间以及解释在表单中输入的日期时间的默认时区。
在 Unix 环境中(其中实现了 time.tzset()
),Django 将 os.environ['TZ']
变量设置为在 TIME_ZONE
设置中指定的时区。因此,所有视图和模型都将自动在此时区运行。但是,如果您使用的是如 手动配置设置 中所述的手动配置选项,Django 不会设置 TZ
环境变量。如果 Django 没有设置 TZ
环境变量,则您有责任确保您的进程在正确的环境中运行。
注意
Django 无法可靠地在 Windows 环境中使用备用时区。如果您在 Windows 上运行 Django,则必须将 TIME_ZONE
设置为与系统时区匹配。
USE_I18N
¶
默认值:True
一个布尔值,指定是否应启用 Django 的翻译系统。这提供了一种出于性能原因将其关闭的方法。如果将其设置为 False
,Django 将进行一些优化,以便不加载翻译机制。
另请参阅 LANGUAGE_CODE
和 USE_TZ
。
注意
django-admin startproject
创建的默认 settings.py
文件包含 USE_I18N = True
,方便使用。
USE_THOUSAND_SEPARATOR
¶
默认值:False
一个布尔值,指定是否使用千位分隔符显示数字。当设置为 True
时,Django 将使用 NUMBER_GROUPING
和 THOUSAND_SEPARATOR
设置来格式化数字。后两个设置也可能由区域设置决定,区域设置优先。
另请参阅 DECIMAL_SEPARATOR
、NUMBER_GROUPING
和 THOUSAND_SEPARATOR
。
USE_TZ
¶
默认值:True
一个布尔值,指定日期时间默认是否为时区感知的。如果将其设置为 True
,Django 将在内部使用时区感知的日期时间。
当 USE_TZ
为 False 时,Django 将使用本地时间的非时区感知日期时间,除非解析 ISO 8601 格式的字符串,在这种情况下,如果存在时区信息,则始终会保留。
在较旧的版本中,默认值为 False
。
USE_X_FORWARDED_HOST
¶
默认值:False
一个布尔值,指定是否优先使用 X-Forwarded-Host
头部而不是 Host
头部。只有在使用设置此头的代理时才应启用此选项。
此设置优先于 USE_X_FORWARDED_PORT
。根据 RFC 7239 5.3 节,X-Forwarded-Host
头部可以包含端口号,在这种情况下,您不应该使用 USE_X_FORWARDED_PORT
。
USE_X_FORWARDED_PORT
¶
默认值:False
一个布尔值,指定是否优先使用 X-Forwarded-Port
头部而不是 SERVER_PORT
META
变量。只有在使用设置此头的代理时才应启用此选项。
USE_X_FORWARDED_HOST
优先于此设置。
WSGI_APPLICATION
¶
默认值:None
Django 的内置服务器(例如 runserver
)将使用的 WSGI 应用程序对象的完整 Python 路径。django-admin startproject
管理命令将创建一个包含 application
可调用的标准 wsgi.py
文件,并将此设置指向该 application
。
如果未设置,则将使用 django.core.wsgi.get_wsgi_application()
的返回值。在这种情况下,runserver
的行为将与以前的 Django 版本相同。
YEAR_MONTH_FORMAT
¶
默认值:'F Y'
在仅显示年份和月份的情况下,Django 管理员更改列表页面上(以及可能系统中的其他部分)使用的日期字段的默认格式。
例如,当 Django 管理员更改列表页面按日期细分进行筛选时,给定月份的标题将显示月份和年份。不同的区域设置有不同的格式。例如,美国英语会说“2006 年 1 月”,而另一个区域设置可能会说“2006/1 月”。
请注意,相应的语言环境确定的格式具有更高的优先级,并将被应用。
参见 allowed date format strings
。另见 DATE_FORMAT
、DATETIME_FORMAT
、TIME_FORMAT
和 MONTH_DAY_FORMAT
。
X_FRAME_OPTIONS
¶
默认值:'DENY'
XFrameOptionsMiddleware
使用的 X-Frame-Options 头部的默认值。参见 点击劫持防护 文档。
身份验证 (Auth)¶
django.contrib.auth
的设置。
AUTHENTICATION_BACKENDS
¶
默认值:['django.contrib.auth.backends.ModelBackend']
尝试验证用户时使用的身份验证后端类列表(以字符串形式)。详情参见 身份验证后端文档。
AUTH_USER_MODEL
¶
默认值:'auth.User'
用于表示用户的模型。参见 替换自定义用户模型。
警告
在项目生命周期中(即,一旦您创建并迁移了依赖于它的模型),您无法轻松更改 AUTH_USER_MODEL 设置。它旨在在项目启动时设置,并且它引用的模型必须在它所在的应用程序的第一次迁移中可用。更多详情参见 替换自定义用户模型。
LOGIN_REDIRECT_URL
¶
默认值:'/accounts/profile/'
LOGIN_URL
¶
默认值:'/accounts/login/'
使用 login_required()
装饰器、LoginRequiredMixin
、AccessMixin
或安装 LoginRequiredMiddleware
时,请求重定向到进行登录的 URL 或 命名 URL 模式。
LOGOUT_REDIRECT_URL
¶
默认值:None
如果 LogoutView
没有 next_page
属性,则请求在注销后重定向到的 URL 或 命名 URL 模式。
如果为 None
,则不会执行重定向,并且将呈现注销视图。
PASSWORD_RESET_TIMEOUT
¶
默认值:259200
(3 天,以秒为单位)
密码重置链接有效的秒数。
由 PasswordResetConfirmView
使用。
注意
减少此超时值不会影响攻击者暴力破解密码重置令牌的能力。令牌的设计目的是无需任何超时即可安全地防止暴力破解。
此超时旨在防止一些不太可能发生的攻击场景,例如有人访问可能包含旧的、未使用的密码重置令牌的电子邮件存档。
PASSWORD_HASHERS
¶
参见 Django 如何存储密码。
默认值
[
"django.contrib.auth.hashers.PBKDF2PasswordHasher",
"django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher",
"django.contrib.auth.hashers.Argon2PasswordHasher",
"django.contrib.auth.hashers.BCryptSHA256PasswordHasher",
"django.contrib.auth.hashers.ScryptPasswordHasher",
]
AUTH_PASSWORD_VALIDATORS
¶
默认值:[]
(空列表)
用于检查用户密码强度的验证器列表。更多详情参见 密码验证。默认情况下,不执行任何验证,并且接受所有密码。
消息 (Messages)¶
MESSAGE_LEVEL
¶
默认值:messages.INFO
设置消息框架将记录的最低消息级别。更多详情参见 消息级别。
避免循环导入
如果您在 settings 文件中覆盖 MESSAGE_LEVEL
并依赖于任何内置常量,则必须直接导入常量模块以避免潜在的循环导入,例如:
from django.contrib.messages import constants as message_constants
MESSAGE_LEVEL = message_constants.DEBUG
如果需要,您可以根据上面 常量表 中的值直接指定常量的数值。
MESSAGE_STORAGE
¶
默认值:'django.contrib.messages.storage.fallback.FallbackStorage'
控制 Django 存储消息数据的位置。有效值为:
'django.contrib.messages.storage.fallback.FallbackStorage'
'django.contrib.messages.storage.session.SessionStorage'
'django.contrib.messages.storage.cookie.CookieStorage'
更多详情参见 消息存储后端。
使用 Cookie 的后端——CookieStorage
和 FallbackStorage
——在设置 Cookie 时使用 SESSION_COOKIE_DOMAIN
、SESSION_COOKIE_SECURE
和 SESSION_COOKIE_HTTPONLY
的值。
会话 (Sessions)¶
SESSION_CACHE_ALIAS
¶
默认值:'default'
如果您使用的是 基于缓存的会话存储,这将选择要使用的缓存。
SESSION_ENGINE
¶
默认值:'django.contrib.sessions.backends.db'
控制Django存储会话数据的位置。包含的引擎:
'django.contrib.sessions.backends.db'
'django.contrib.sessions.backends.file'
'django.contrib.sessions.backends.cache'
'django.contrib.sessions.backends.cached_db'
'django.contrib.sessions.backends.signed_cookies'
更多详情,请参见配置会话引擎。
SESSION_EXPIRE_AT_BROWSER_CLOSE
¶
默认值:False
用户关闭浏览器时是否过期会话。请参见浏览器会话与持久会话。
SESSION_FILE_PATH
¶
默认值:None
如果您使用基于文件的会话存储,这将设置Django存储会话数据的目录。使用默认值(None
)时,Django将使用系统的标准临时目录。
SESSION_SAVE_EVERY_REQUEST
¶
默认值:False
是否在每次请求时保存会话数据。如果为False
(默认值),则只有在会话数据被修改后(即,如果其任何字典值已被赋值或删除)才会保存会话数据。即使此设置处于活动状态,也不会创建空会话。
SESSION_SERIALIZER
¶
默认值:'django.contrib.sessions.serializers.JSONSerializer'
用于序列化会话数据的序列化器类的完整导入路径。包含的序列化器:
'django.contrib.sessions.serializers.JSONSerializer'
详情请参见会话序列化。
站点¶
django.contrib.sites
的设置。
SITE_ID
¶
默认值:未定义
django_site
数据库表中当前站点的ID(整数)。这用于应用程序数据可以与特定站点挂钩,并且单个数据库可以管理多个站点的內容。
静态文件¶
django.contrib.staticfiles
的设置。
STATIC_ROOT
¶
默认值:None
collectstatic
将为部署收集静态文件的绝对路径。
示例:"/var/www/example.com/static/"
如果启用了staticfiles contrib应用程序(如默认项目模板中所示),则collectstatic
管理命令会将静态文件收集到此目录中。有关用法的更多详细信息,请参阅有关管理静态文件 的方法。
警告
这应该是一个最初为空的目录,用于将静态文件从其永久位置收集到一个目录中,以便于部署;它**不是**永久存储静态文件的地方。您应该在staticfiles的查找器
(默认情况下为'static/'
应用程序子目录以及您包含在STATICFILES_DIRS
中的任何目录)能够找到的目录中执行此操作。
STATIC_URL
¶
默认值:None
引用位于STATIC_ROOT
中的静态文件时使用的URL。
示例:"static/"
或 "https://static.example.com/"
如果非None
,这将用作资源定义(Media
类)和staticfiles应用程序的基本路径。
如果设置为非空值,则必须以斜杠结尾。
你可能需要配置这些文件以便在开发环境中提供服务,并且肯定需要在生产环境中这样做。
注意
如果STATIC_URL
是相对路径,则服务器提供的SCRIPT_NAME
值(如果未设置则为/
)将作为前缀。这使得在子路径中提供Django应用程序的服务更加容易,而无需在设置中添加额外的配置。
STATICFILES_DIRS
¶
默认值:[]
(空列表)
如果启用了FileSystemFinder
查找器(例如,如果您使用collectstatic
或findstatic
管理命令,或使用静态文件服务视图),则此设置定义了静态文件应用程序将遍历的附加位置。
这应该设置为包含附加文件目录的完整路径的字符串列表,例如:
STATICFILES_DIRS = [
"/home/special.polls.com/polls/static",
"/home/polls.com/polls/static",
"/opt/webfiles/common",
]
请注意,即使在Windows上,这些路径也应该使用Unix风格的正斜杠(例如"C:/Users/user/mysite/extra_static_content"
)。
前缀(可选)¶
如果您想使用附加命名空间引用其中一个位置中的文件,您可以**可选地**提供前缀作为(prefix, path)
元组,例如:
STATICFILES_DIRS = [
# ...
("downloads", "/opt/webfiles/stats"),
]
例如,假设您已将STATIC_URL
设置为'static/'
,则collectstatic
管理命令会将“stats”文件收集到STATIC_ROOT
的'downloads'
子目录中。
这允许您在模板中使用'/static/downloads/polls_20101022.tar.gz'
来引用本地文件'/opt/webfiles/stats/polls_20101022.tar.gz'
,例如:
<a href="{% static 'downloads/polls_20101022.tar.gz' %}">
STATICFILES_FINDERS
¶
默认值
[
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
]
知道如何在不同位置查找静态文件的查找器后端的列表。
默认情况下,它将查找存储在STATICFILES_DIRS
设置中的文件(使用django.contrib.staticfiles.finders.FileSystemFinder
)以及每个应用程序的static
子目录中的文件(使用django.contrib.staticfiles.finders.AppDirectoriesFinder
)。如果存在多个同名文件,则将使用找到的第一个文件。
默认情况下禁用一个查找器:django.contrib.staticfiles.finders.DefaultStorageFinder
。如果将其添加到您的STATICFILES_FINDERS
设置中,它将在STORAGES
设置中由default
键定义的默认文件存储中查找静态文件。
注意
使用AppDirectoriesFinder
查找器时,请确保您的应用程序可以通过将应用程序添加到您站点的INSTALLED_APPS
设置中,由静态文件找到。
静态文件查找器目前被认为是私有接口,因此此接口未记录。
核心设置主题索引¶
缓存¶
数据库¶
调试¶
电子邮件¶
错误报告¶
文件上传¶
表单¶
全球化(i18n
/l10n
)¶
国际化(i18n
)¶
本地化(l10n
)¶
HTTP¶
安全