semvec/pypi-packages huggingface dataset:
django-on-heroku 1.1.2
This package simplifies running a Django app on Heroku platform.
License: MIT

django-on-heroku (Python Library)
=================================

This has been forked from `django-heroku <https://github.com/heroku/django-heroku>`_ because it was abandoned and then renamed to **django-on-heroku** because old project has been archived.

Current updates:

- renamed package from ``django-heroku`` to ``django-on-heroku``
- changed ``psycopg2`` to ``psycopg2-binary`` so it works and is installable
- added installation instructions
- fixed wipe'ing tables in Postgres
- ``whitenoise.middleware.WhiteNoiseMiddleware`` is injected after ``django.middleware.security.SecurityMiddleware``

--------------

This is a Django library for Heroku applications that ensures a seamless deployment and development experience.

This library provides:

-  Settings configuration (Static files / WhiteNoise).
-  Logging configuration.
-  Test runner (important for `Heroku CI <https://www.heroku.com/continuous-integration>`_).

--------------

Django 2.0 is targeted, but older versions of Django should be compatible. Only Python 3 is supported.

Installation
------------

    pip install django-on-heroku

Usage of Django-Heroku
----------------------

In ``settings.py``, at the very bottom::

    # Configure Django App for Heroku.
    import django_on_heroku
    django_on_heroku.settings(locals())

This will automatically configure ``DATABASE_URL``, ``ALLOWED_HOSTS``, WhiteNoise (for static assets), Logging, and Heroku CI for your application.

**Bonus points!**

If you set the ``SECRET_KEY`` environment variable, it will automatically be used in your Django settings, too!

If you set the ``CONN_MAX_AGE`` environment variable, it will automatically be used in your database settings, too!

Enabling Functionality
///////////////////////

``settings()`` accepts keyword arguments that are by default set to ``False``

- ``geodjango`` - set it to ``True`` if you want to use GeoDjango in our app

Disabling Functionality
///////////////////////

``settings()`` also accepts keyword arguments that can be passed ``False`` as a value, which will disable automatic configuration for their specific areas of responsibility:

- ``databases``
- ``test_runner``
- ``staticfiles``
- ``allowed_hosts``
- ``logging``
- ``secret_key``
- ``db_ssl_required``

-----------------------

You can also just use this library to provide a test runner for your Django application, for use on Heroku CI::

    import django_on_heroku
    TEST_RUNNER = 'django_on_heroku.HerokuDiscoverRunner'