Skip to content

Display cute animal pictures in response for different HTTP response codes.

License

Notifications You must be signed in to change notification settings

abhiabhi94/django-cute-status

Repository files navigation

django-cute-status

Test Coverage Latest PyPI version python django licence

Return a more fun and cute animal picture to your users based upon the HTTP response codes.

Demo Responses

Some of these responses may look like:

  • 404(Resource not found)

Resource not found.

  • 400(Bad request)

Bad request.

Installation

Install using pip.

$ python -m pip install django-cute-status

If you want, you may install it from the source, grab the source code and run setup.py.

$ git clone git://github.com/abhiabhi94/django-cute-status.git
$ cd django-cute-status
$ python setup.py install

Usage

Add app

To enable django_flag_app in your project you need to add it to INSTALLED_APPS in your projects settings.py file:

INSTALLED_APPS = (
    ...
    'django_cute_status',
    ...
)

Add middleware

Add the following middleware class to monitor the responses. Make sure it is at the bottom.

MIDDLEWARES = [
    ...
    'django_cute_status.middleware.CuteStatusMiddleware',
]

Configurations

There are certain configurations that allow you to customize the application.

CUTE_STATUS_BASE_URLS

This is the list of URLs to be used for displaying cute statuses. At the moment, the app only displays the pictures of dogs and cats. In case you know of any more such services(for e.g. one for pandas) you may add them here. Also, it would be great if you could take a moment to make a pull request to add the feature here as well. Defaults to :

 = (
    'https://http.dog/{status_code}.jpg',
    'https://http.cat/{status_code}.jpg',
)

CUTE_STATUS_BASE_URL

The default URL for displaying cute statuses. Suppose, you want only cat pictures as status code, you can use this by setting it to http://http.cat/{status_code}. This is useful only when you have set CUTE_STATUS_USE_RANDOM to False.

CUTE_STATUS_BASE_TEMPLATE

The base template used for rendering cute statuses. It is advisable to override this to cater the web page according to your needs. For example, you might want your header and footer etc. to also be added along the cute status codes. Defaults to 'django_cute_status/base.html'.

CUTE_STATUS_USE_RANDOM

This tells whether to display cute statuses using one of the available URLs randomly. Defaults to True.

CUTE_STATUS_FOR_CODES

This a list of status code for which cute status will be displayed. Defaults to cute_status_for_codes.

CUTE_STATUS_NOT_FOR_CODES

This is a list of status code for which cute status will not be displayed. You may want to display text as per you business logic. Defaults to cute_status_not_for_codes.

CUTE_STATUS_HEADER

This is the header sent added to the response. It can be useful in determining when you want to render your own responses, CSS, JS, media files etc. Defaults to 'X-Cute-Status'.

CUTE_STATUS_OVERRIDE_HEADER_ON_ALL

Whether to add the CUTE_STATUS_HEADER on all HTTP requests or not. Defaults to False.

Credits

The application wouldn't have been possible without the excellent pictures served by https://http.dog and https://http.cat. Many thanks to them for their cute pictures.

Development

For setting up development environment, you may see the guidelines at CONTRIBUTING.rst.