Skip to content

Instantly share code, notes, and snippets.

@Tobi-De
Created November 26, 2020 06:50
Show Gist options
  • Save Tobi-De/4db5c804ae72e82a98081e326bbd132b to your computer and use it in GitHub Desktop.
Save Tobi-De/4db5c804ae72e82a98081e326bbd132b to your computer and use it in GitHub Desktop.

This is neither a guide nor a tutorial, but a list of django packages that are very well known and used in the community and which I have already used myself. I will update this list as I discover new packages. If you can't find a package in this list that matches your requirements, you can always head to the djangopackages website which has a list of most django packages. It's a bit like the official django packages website.

Packages I've tried and used inside my projects.

  • django-crispy-forms: If you are not a frontend pro like, this package will help you render your forms nicely with a little to no efforts, and it is very customisable. It comes with support for multiple frontend framework like bootstrap for example.
  • django-allauth: This package for me and many others is a must have if you need to handle users authentications and registrations in your project. This package provides basic user signup and login views and form, email verification process, account authentication with a plethora of third party like google, password reset/change and much more. You absolutely need to give it a try if you haven't yet. For a brief intro watch this.
  • django-environ: This is another must have package, with this package you can easily manage your environments variables in your django projects.
  • django-extensions: This package provide you with a set of useful features to speed up your development, mostly some really usefull comands like shell_plus (probably the most used and known) that opens a django shell with all your models preloaded, a command to create a postgres database in one line and much more. It also comes with some useful fields extensions like AutoSlugField and RandomCharField.
  • django-debug-toolbar: you should use this in your development environment, it gives you access to a Toolbar with really useful informations like the numbers of sql queries your app made, detail about views and request performed by your apps. A really great package to help you debug your project and optimize your database queries.
  • django-braces: A set of useful mixins to use with your class based views (CVB).
  • django-q: This is my go-to package for handling asynchronous and scheduled tasks. Very easy to setup and configure.
  • django-markdownx: A markdown plugin for django. It is the tool I'm using for this blog combined with the python-markdown package.
  • sorl-thumbnail: A package to manage thumbnails in django. This package is also used in this blog.
  • django-configurations: I really love this package and how it help you manage your project settings using python classes and OOP(Object Oriented Programming) in general. You should give it a try, maybe you will prefer this over the classic django settings layout.
  • cookiecutter-django : This is my default way of creating my django project instead of using the django-admin command. This is not really a django package but I wanted to mention it. You can read my article on it for more informations.
  • django-embed-video: A django app for easy embedding YouTube and Vimeo videos and music from SoundCloud.
  • django-maintenance-mode: This help you implement a maintenance mode in your app with ease by adding a 503.html file in your templates folder.
  • django-click: This package is based on the well known python package click . It help you create commands (used with manage.py) with a similar interface to the click package.

Packages I've heard good about but haven't used yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment