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