Django packages - SuQuoc/ft_transcendence GitHub Wiki

Useful Django Packages

Italic headers are the ones we want to use

1. Django Rest Framework (DRF)

  • Description: A powerful and flexible toolkit for building Web APIs.
  • Use: Helps in creating RESTful APIs with Django.
  • Installation: pip install djangorestframework

2. Django Allauth

  • Description: Integrated set of Django applications addressing authentication, registration, account management as well as third party (social) account authentication.
  • Use: Provides a comprehensive authentication system, including social authentication.
  • Installation: pip install django-allauth

3. Django Channels

  • Description: Brings asynchronous capabilities to Django, using WebSockets, HTTP2, and more.
  • Use: Helps in adding real-time functionalities to Django applications.
  • Installation: pip install channels

4. Django Celery

  • Description: An asynchronous task queue/job queue based on distributed message passing.
  • Use: Helps in handling background tasks, scheduling, and asynchronous processing.
  • Installation: pip install django-celery-beat django-celery-results

5. Django Debug Toolbar

  • Description: A configurable set of panels that display various debug information about the current request/response.
  • Use: Helps in debugging by providing detailed information about SQL queries, request variables, cache, logging, etc.
  • Installation: pip install django-debug-toolbar

6. Django Extensions

  • Description: Collection of custom extensions for the Django Framework.
  • Use: Provides various management commands and utilities like shell_plus, runserver_plus, and graph_models.
  • Installation: pip install django-extensions

7. Django Crispy Forms (maybe)

  • Description: The best way to have Django DRY forms.
  • Use: Helps in making Django forms look great by using a CSS framework like Bootstrap.
  • Installation: pip install django-crispy-forms

8. Django Filter

  • Description: A reusable Django application for allowing users to filter querysets dynamically.
  • Use: Helps in creating dynamic query filters for Django queries.
  • Installation: pip install django-filter

9. Django Storages

  • Description: A collection of custom storage backends for Django.
  • Use: Helps in integrating Django with various cloud storage services like Amazon S3, Google Cloud Storage, etc.
  • Installation: pip install django-storages

10. Django Compressor

  • Description: Compresses linked and inline JavaScript or CSS into a single cached file.
  • Use: Helps in optimizing static files by compressing CSS and JavaScript files.
  • Installation: pip install django-compressor

11. Django Rest Framework JWT (maybe)

  • Description: JSON Web Token Authentication support for Django REST Framework.
  • Use: Provides JWT authentication for Django REST Framework.
  • Installation: pip install djangorestframework-jwt

12. Django CORS Headers

  • Description: Django app for handling the server headers required for Cross-Origin Resource Sharing (CORS).
  • Use: Helps in configuring CORS headers for Django projects.
  • Installation: pip install django-cors-headers

13. Django Guardian

  • Description: Implementation of per object permissions as authorization backend.
  • Use: Helps in managing per-object permissions for Django models.
  • Installation: pip install django-guardian

14. Django Haystack (maybe)

  • Description: Modular search for Django.
  • Use: Helps in integrating search functionality into Django projects using various backends like Elasticsearch, Whoosh, etc.
  • Installation: pip install django-haystack

15. Django Import-Export

  • Description: Django application and library for importing and exporting data with admin integration.
  • Use: Helps in importing and exporting data in various formats (CSV, Excel, etc.) via the Django admin interface.
  • Installation: pip install django-import-export