Must-have Django packages.
Whenever you need to integrate your web app with StackOverflow, run jobs asynchronously, debugging slow pages, or building an API, there is an extension you can easily pip install
. This list contains some of the most interesting Django extensions out there.
Authentication and authorization
Python social auth is the most comprehensive social authentication/registration mechanism for Python. The backend support is massive: you can authenticate againstmore than 50 providers. Install it via
pip install python-social-auth
Django Guardian implements a per object permissions for your models. Install it via
pip install django-guardian
Django OAuth Toolkit provides out of the box all the endpoints, data and logic needed to add OAuth2 provider capabilities to your Django projects. It can be nicely integrated with Django REST framework. Install it via
pip install django-oauth-toolkit
django-allauth Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication. Install it via
pip install django-allauth
Backend
Celery. Celery is the de facto standard to manage asynchronous, distributed job queues, and it can be easily integrated in your Django app. Install it via
pip install Celery
Django REST framework is an insanely awesome framework to build REST APIs. It manages for you serialization, throttling, content negotiation, pagination and—drum roll—it builds a browsable API for free, so developers can browse and experiment with your API from the web browser. Install it via
pip install djangorestframework
Django stored messages is a small, non-intrusive app which integrates smoothly with Django’s messages framework (django.contrib.messages) and lets users decide which messages have to be stored on the database backend thus making them available over sessions.
django-cors-headers is a tiny app for setting up CORS headers. Very helpful to manage cross-domain requests in your Django apps (e.g. a javascript client served by a CDN). Install it via
pip install django-cors-headers
South provides schema and data migration in a database-independent fashion. Starting from Django 1.7 South functionalities will be included in Django core but this app will be still maintained for compatibility. Intall it via
pip install South
Debugging
Debug toolbar. Ever wondered why your app is so freaking slow? Debug toolbar is a nice plugin that will show you all the
SQL
queries Django is doing to render your page, and much more. Install it viapip install django-debug-toolbar
Static Assets
Django Storages is a powerful and configurable plugin to make storing your static assets on an external service super easy. Simply run
python manage.py collectstatic
after installing it to copy all modified static files to your chosen backend. The most popular add-on works with thepython-boto
library to let you store those files onAmazon S3 using their cheap, easy-to-use, and fast file buckets. Install it viapip install django-storages
Django Pipeline is a static asset packaging library for Django, providing both CSS and JavaScript concatenation and compression. Supporting multiple compilers (LESS, SASS, et al), multiple compressors for CSS and JS, it gives you plenty of customizability. Pipeline also works nicely with Django Storages and other storage backends. Install it with
pip install django-pipeline
.Django Compressor combines and compresses linked and inline Javascript or CSS in a Django templates into cacheable static files with optional, configurable compilers and filters for concatenation, minification, compression, precompiliation (e.g. for Sass or Coffee Script files) etc. etc. Install it with
pip install django_compressor
.
Utils
Reversion provides version control facilities to your models. With a few configuration lines, you can recover deleted models or roll back to any point in a model's history. The integration with the Django admin interface takes seconds. Install it via
pip install django-reversion
Django extensions is a collection of 17 custom extensions for the Django Framework. The most notable ones are:
shell_plus
, a shell with autoloading of the apps database models;RunScript
, to run scripts in the Django context;graph_models
, to render a graphical overview of your models (it's extremely useful);sqldiff
, to print theALTER TABLE
statements for the given appnames. Install it viapip install django-extensions
Django braces is a collection of reusable, generic mixins for Django providing common behaviours and patterns for views, forms and other components. Very effective on removing boilerplates. Install it via
pip install django-braces
PS: loads of useful comments on hacker news.
https://devcharm.com/pages/79-must-have-django-packages
...You must Sign up as a member of Effecthub to view the content.
A PHP Error was encountered
Severity: Notice
Message: Undefined index: HTTP_ACCEPT_LANGUAGE
Filename: helpers/time_helper.php
Line Number: 22
2819 views 0 comments
You must Sign up as a member of Effecthub to join the conversation.