动态允许的主机
django-allowedsites的Python项目详细描述
django 1.6+库,用于根据django.contrib.sites
中的域设置ALLOWED_HOSTS。用法如下所示,在settings.py或等效值中:
from allowedsites import AllowedSites ALLOWED_HOSTS = AllowedSites(defaults=('mytestsite.com',))
或者,如果要使用缓存后端:
from allowedsites import CachedAllowedSites ALLOWED_HOSTS = CachedAllowedSites()
将插入包含未排序集合的单个键allowedsites。 在django.contrib.sites中的所有域中。为了允许 多个进程以保持与Site值最新,而不命中 鼓励使用共享缓存(即:不LocMemCache)的数据库。
CachedAllowedSites还提供了一个update_cache类方法,该方法 可以用作信号侦听器:
from django.db.models.signals import post_save from django.contrib.sites.models import Site post_save.connect(CachedAllowedSites.update_cache, sender=Site, dispatch_uid='update_allowedsites')
您可以修改默认值:
from allowedsites import AllowedSites ALLOWED_HOSTS = AllowedSites(defaults=('mytestsite.com',)) ALLOWED_HOSTS += AllowedSites(defaults=('anothersite.net',)) ALLOWED_HOSTS -= AllowedSites(defaults=('mytestsite.com',)) # ultimately, only anothersite.net is in the defaults
其他用途?
它可以与django-csp(内容安全策略头)一起工作, django-dcors(跨源资源共享头)和其他。我不知道。
版权所有(c)2014,Keryn Knight 保留所有权利。
以源和二进制形式重新分配和使用,有无 如果满足以下条件,则允许修改:
- 重新发布源代码必须保留上述版权声明 条件列表和以下免责声明。
- 二进制形式的再分配必须复制上述版权声明, 文件中的条件列表和以下免责声明 和/或分发时提供的其他材料。
本软件由版权所有者和贡献者“按原样”提供,并且 任何明示或默示保证,包括但不限于 对特定用途的适销性和适合性的保证 否认。在任何情况下,版权所有人或贡献者均不负责 任何直接、间接、附带、特殊、惩戒性或间接损害 (包括但不限于替代货物或服务的采购; 使用、数据或利润的损失;或营业中断),无论是何种原因造成的 论任何责任理论,无论是合同责任、严格责任还是侵权责任 (包括疏忽或其他)以任何方式产生的 软件,即使被告知有这种损坏的可能性。
软件和文档中包含的视图和结论是 不应被解释为代表官方政策, freebsd项目的明示或默示的。
此许可证适用于Django AllowedSites的0.1.0版。