Django MaintenanceMode允许您临时关闭站点进行维护工作
django-maintenancemode的Python项目详细描述
django maintenancemode是一个中间件,它允许您临时关闭 你的网站维护工作。
具有人员凭据的登录用户仍然可以完全使用 从中定义的IP地址访问站点的用户可以访问的站点 Django的^{TT1}$。
作者是Remco Wendt,还有一些伟大的contributors。
工作原理
maintenancemode的工作方式与在 Django工作。它添加了一个handler503,您可以在 mainurls.py或者可以向模板中添加503.html。 目录
如果用户和工作人员已登录,则维护页面为 不显示。
如果用户的IP位于INTERNAL_IPS,则维护页为 不显示。
覆盖在维护模式下使用的默认视图 启用后,您只需在 ROOT_URLCONF,类似于自定义其他error handlers, 例如:
handler503='example.views.maintenance_mode'
安装
从github签出maintenancemode,或者使用pip安装:
pip install django-maintenancemode
将maintenancemode添加到INSTALLED_APPS:
INSTALLED_APPS=(...'maintenancemode',)
将MaintenanceModeMiddleware添加到MIDDLEWARE_CLASSES,确保它位于AuthenticationMiddleware:
MIDDLEWARE_CLASSES=(...'django.contrib.auth.middleware.AuthenticationMiddleware','maintenancemode.middleware.MaintenanceModeMiddleware',)
在项目的settings.py文件中添加名为MAINTENANCE_MODE的变量:
MAINTENANCE_MODE=True# Setting this variable to ``True`` activates the middleware.
或者将MAINTENANCE_MODE设置为False,并使用maintenance命令:
python ./manage.py maintenance <on|off>
请参阅example应用程序。此应用程序用于 手动测试此包的功能。这也可以作为 一个很好的例子…
你只需要django 1.4或更高版本就可以运行它。可能会用老的 版本,但未经测试。
配置
您可以在settings.py
中设置各种可选配置选项# Enable / disable maintenance mode.# Default: FalseMAINTENANCE_MODE=True# or ``False`` and use ``maintenance`` command# Sequence of URL path regexes to exclude from the maintenance mode.# Default: ()MAINTENANCE_IGNORE_URLS=(r'^/docs/.*',r'^/contact')
许可证
django-maintenancemode是根据bsd许可证发布的。
更改
0.11.3
- 添加了对django 2.x的支持,删除了对django<;1.11的支持。它可能 仍然适用于django 1.8,但这不再是测试。
0.11.2
- 为django 1.10版本做好准备。
- 放弃了对django 1.3及更高版本的支持。
0.11.1
- 在内部IP中启用网络指定
0.11.0
- 添加管理命令以设置维护模式开/关
0.10.1
- 确保应用程序在django 1.8上运行。
0.10.0
- 摆脱了对setuptools的依赖
- 增加了从维护模式中排除特定路径的能力 MAINTENANCE_IGNORE_URLS设置。
- 在呈现503.html模板时使用requestcontext。
- 使用tox来运行测试,而不是构建。
- 确保应用程序在django 1.4上运行。
0.9.3
- 切换到github的小文档更新,预计很快会有更多更改。
0.9.2
- 修复了setuptools的一个问题,感谢您报告此ksato9700
0.9.1
- 使用django-1.0版本测试了django maintenanceMode(遵循1.0.x版本分支)
- 将buildout.cfg和bootstrap与项目的源版本捆绑在一起,允许重复构建
- 中间件现在使用自己的默认配置文件,这要感谢semente提供的补丁程序
- 使用内部IP检查需要访问的用户。用户信息系统工作人员将留在原地 因为向后不相容。感谢乔舒亚的创意
- 让setup.py sdist只分发maintenancemode本身,不再分发测试和构建内容
- 在setup.py的long_描述中使用自述文件和更改,从Jeroen的djangoRecipe中窃取:)
- 更新了文档,现在使用pypi作为文档源(从google代码链接到这里)
0.9
首次发布