Django MaintenanceMode允许您临时关闭站点进行维护工作

tocka-django-maintenancemode的Python项目详细描述


https://travis-ci.org/frnhr/django-maintenancemode.svg

django maintenancemode是一个中间件,它允许您临时关闭 你的网站维护工作。

当站点处于维护模式时,某些用户仍然可以访问常规站点:
  • 具有员工资格的登录用户,以及
  • 从django的内部ip s中定义的ip地址访问站点的用户。

上面两点只是默认值,在权限处理器设置中配置 (见下文)。自定义规则很容易插入。

Django MaintenanceMode的工作方式与处理 Django工作。它添加了一个handler503,您可以在主url.py中重写它。 或者可以将503.html添加到模板目录中。

分叉历史:
  • 这个fork添加了权限处理器框架。
  • 旧fork将维护模式属性和忽略的url移出了settings.py 然后进入你的数据库。

要求

django.contrib.sites网站

站点必须至少有一个域才能正常工作。

插件已通过以下测试:
  • Django 1.7.8
  • Django 1.8.2
  • Python2.7.9
  • python 3.4.2

安装

  • 使用pip install tocka django maintenancemode安装

  • 或者如果您不喜欢pip:下载源代码并安装python setup.py

  • 在django设置文件中,将maintenancemode添加到中间件类中。 确保它在django的authenticationmiddleware之后。喜欢这样:

    MIDDLEWARE_CLASSES = (
        # ...
    
        'maintenancemode.middleware.MaintenanceModeMiddleware',
    )
    
  • maintenancemode添加到已安装的应用程序中。

  • 运行manage.py migrate创建必要的表。

  • 添加中间件并运行站点会在数据库中创建必要的记录 启用/禁用维护模式和忽略的URL模式。

配置

配置部分不是最新的:(

MAINTENANCE MODE

维护模式将为每个站点创建一个数据库记录,从 网站应用程序。在每个维护模型上都有一个布尔属性,“正在执行吗” 从settings.py将站点置于“Maintnenace模式”的位置

MAINTENANCE IGNORE URLS

当 网站是第一次运行。模式应该以正斜杠开始:/,但可以以任何方式结束。

待办事项

  • 文档配置
  • 文档权限处理程序
  • 整理“忽略的URL”功能
  • 管理界面测试?
  • PYPI包
  • omg在降价时制作此自述文件

变化 ======

发展 ------------

0.9.4条 ----- -0.9.3的变更测试 -Django 1.7和1.8兼容性 -可插入权限架构

0.9.3条 ----- -将维护模式和忽略的URL模式从settings.py移到数据库支持的存储。

0.9.2条 ----- -修复了setuptools的一个问题,感谢您报告此ksato9700

0.9.1条 -----

  • 使用django-1.0版本(遵循1.0.x版本分支)测试了django-maintenanceMode
  • 将buildout.cfg和bootstrap与项目的源版本捆绑在一起,允许重复构建
  • 中间件现在使用自己的默认配置文件,这要感谢semente提供的补丁程序
  • 使用内部IP检查需要访问的用户。用户信息系统工作人员将为向后不兼容保留位置。感谢乔舒亚的创意
  • 让setup.py sdist只分发maintenancemode本身,不再分发测试和构建内容
  • 使用自述和setup.py的long_描述中的更改,从Jeroen的djangoRecipe中窃取:)
  • 更新了文档,现在使用pypi作为文档源(从google代码链接到这里)

0.9分 -----

首次发布

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何创建Restful服务并将其部署到OSGi容器?   java如何获取用户在EditText中输入的时间并从中扣除5小时30分钟?   java用户无法注销firebase 安卓   java Undertow始终将字符集添加到ContentType头,即使它不是文本MIME类型   java LocalBroadcastManager未正确接收消息   foreach在Java中有没有比For循环更好的方法可以灵活地遍历集合?   java如何在安卓上移动球   在OSGi下的Log4j中使所有记录器异步时,java ClassNotFoundException   java未知输入字节长度转换为int   java测试工厂在使用前缀命名时抛出NPE   对象的副本(JAVA)   java SP20310:无法打开文件。sql   java Spring安全性仅为一条路径添加安全性   java在idea中获取菱形运算符的编译错误