Metadata-Version: 1.2
Name: django-maintenancemode
Version: 0.11.3
Summary: django-maintenancemode allows you to temporary shutdown your site for maintenance work
Home-page: http://github.com/shanx/django-maintenancemode
Author: Remco Wendt
Author-email: remco@maykinmedia.nl
Maintainer: Basil Shubin
Maintainer-email: basil.shubin@gmail.com
License: BSD License
Download-URL: https://github.com/shanx/django-maintenancemode/zipball/master
Description: django-maintenancemode
        ======================
        
        django-maintenancemode is a middleware that allows you to temporary shutdown
        your site for maintenance work.
        
        Logged in users having staff credentials can still fully use
        the site as can users visiting the site from an IP address defined in
        Django's ``INTERNAL_IPS``.
        
        Authored by `Remco Wendt <https://github.com/shanx>`_, and some great `contributors <https://github.com/shanx/django-maintenancemode/contributors>`_.
        
        .. image:: https://img.shields.io/pypi/v/django-maintenancemode.svg
            :target: https://pypi.python.org/pypi/django-maintenancemode/
        
        .. image:: https://img.shields.io/pypi/dm/django-maintenancemode.svg
            :target: https://pypi.python.org/pypi/django-maintenancemode/
        
        .. image:: https://img.shields.io/github/license/shanx/django-maintenancemode.svg
            :target: https://pypi.python.org/pypi/django-maintenancemode/
        
        .. image:: https://img.shields.io/travis/shanx/django-maintenancemode.svg
            :target: https://travis-ci.org/shanx/django-maintenancemode/
        
        How it works
        ------------
        
        ``maintenancemode`` works the same way as handling 404 or 500 error in
        Django work. It adds a ``handler503`` which you can override in your
        main ``urls.py`` or you can add a ``503.html`` to your templates
        directory.
        
        * If user is logged in and staff member, the maintenance page is
          not displayed.
        
        * If user's IP is in ``INTERNAL_IPS``, the maintenance page is
          not displayed.
        
        * To override the default view which is used if the maintenance mode
          is enabled you can simply define a ``handler503`` variable in your
          ROOT_URLCONF_, similar to how you would customize other `error handlers`_,
          e.g. :
        
          .. code-block:: python
        
              handler503 = 'example.views.maintenance_mode'
        
        Installation
        ------------
        
        1. Either checkout ``maintenancemode`` from GitHub, or install using pip :
        
           .. code-block:: bash
        
               pip install django-maintenancemode
        
        2. Add ``maintenancemode`` to your ``INSTALLED_APPS`` :
        
           .. code-block:: python
        
               INSTALLED_APPS = (
                   ...
                   'maintenancemode',
               )
        
        3. Add ``MaintenanceModeMiddleware`` to ``MIDDLEWARE_CLASSES``, make sure it comes after ``AuthenticationMiddleware`` :
        
           .. code-block:: python
        
               MIDDLEWARE_CLASSES = (
                   ...
                   'django.contrib.auth.middleware.AuthenticationMiddleware',
                   'maintenancemode.middleware.MaintenanceModeMiddleware',
               )                
        
        4. Add variable called ``MAINTENANCE_MODE`` in your project's ``settings.py`` file :
        
           .. code-block:: python
        
               MAINTENANCE_MODE = True  # Setting this variable to ``True`` activates the middleware.
        
           or set ``MAINTENANCE_MODE`` to ``False`` and use ``maintenance`` command :
        
           .. code-block:: shell
        
               python ./manage.py maintenance <on|off>
        
        Please see ``example`` application. This application is used to
        manually test the functionalities of this package. This also serves as
        a good example...
        
        You need only Django 1.4 or above to run that. It might run on older
        versions but that is not tested.
        
        Configuration
        -------------
        
        There are various optional configuration options you can set in your ``settings.py``
        
        .. code-block:: python
        
            # Enable / disable maintenance mode.
            # Default: False
            MAINTENANCE_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'
            )
        
        License
        -------
        
        ``django-maintenancemode`` is released under the BSD license.
        
        .. _ROOT_URLCONF: https://docs.djangoproject.com/en/dev/ref/settings/#root-urlconf
        .. _`error handlers`: https://docs.djangoproject.com/en/dev/topics/http/views/#customizing-error-views
        
        
        Changes
        -------
        
        0.11.3
        ~~~~~~
        
        - Added support for django 2.x, dropped support for django < 1.11. It may
          still work with django 1.8, but this is no longer tested.
        
        0.11.2
        ~~~~~~
        
        - Getting ready for Django 1.10 release.
        - Dropped support for Django 1.3 and older.
        
        0.11.1
        ~~~~~~
        
        - Enable network specify in INTERNAL_IPS
        
        0.11.0
        ~~~~~~
        
        - Added management command to set maintenance mode on/off
        
        0.10.1
        ~~~~~~
        
        - Made sure the app runs on Django 1.8.
        
        0.10.0
        ~~~~~~
        
        - Got rid of dependency on setuptools
        - Added ability to exclude specific paths from maintenance mode with the
          ``MAINTENANCE_IGNORE_URLS`` setting.
        - Use RequestContext when rending the ``503.html`` template.
        - Use tox for running the tests instead of buildout.
        - Made sure the app runs on Django 1.4.
        
        0.9.3
        ~~~~~~
        
        - Minor documentation updates for the switch to github, expect more changes to follow soon.
        
        0.9.2
        ~~~~~~
        
        - Fixed an issue with setuptools, thanks for reporting this ksato9700
        
        0.9.1
        ~~~~~~
        
        - Tested django-maintenancemode with django-1.0 release (following the 1.0.X release branch)
        - Bundled buildout.cfg and bootstrap with the source version of the project, allowing repeatable buildout
        - The middleware now uses its own default config file, thanks to a patch by semente
        - Use INTERNAL_IPS to check for users that need access. user.is_staff will stay in place
          for backwards incompatibility. Thanks for the idea Joshua Works
        - Have setup.py sdist only distribute maintenancemode itself, no longer distribute tests and buildout stuff
        - Use README and CHANGES in setup.py's long_description, stolen from Jeroen's djangorecipe :)
        - Updated the documentation and now use pypi as the documentation source (link there from google code)
        
        0.9
        ~~~~~~
        
        First release
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires: Django (>=1.4.2)
