配置
核心配置
下面是 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 会将请求 / 响应周期中出现的异常的详细信息通过邮件发送给这些人。
ALLOWED_HOSTS
默认: [ ] (空列表) 一个代表这个 Django 网站可以服务的主机 / 域名的字符串列表。这是一个安全措施,以防止 HTTP 主机头攻击,即使在许多看似安全的 Web 服务器配置下也有可能发生。
这个列表中的值是完全限定的名称(www.example.com),在这种情况下,他们将于请求的 Host 头完全匹配(不区分大小写,不包括端口)。以英文句号开头的值可以用作子域通配符(.example.com 将匹配 example.com ,www.example.com 和 其他任何子域)。'*' 的值将匹配任何东西;在这种情况下,你要负责提供你自己的 Host 头的验证(也许是在一个中间件中,必须首先在MIDDLEWARE中列出)。
ALLOWED_HOSTS 实在运行测试时进行检查的。这些验证仅通过 get_host() 来实现rugosa你的代码直接从 request.META 得到 Host 头部,你就绕过了这种安全保护机制。