Most useful Django packages

Django packages

Django has increased its popularity during the last couple of years, because of it's a  robust open source Python-based framework for building web applications. Among other Python-based frameworks for creating web applications (Like Flask and Pyramid), Django is by far the most popular. It's secured when used properly and provides high dimensions of flexibility, therefore is the way to go when developing server-side applications using Python.

When you develop a website using Django you can use a vast list of Django packages. It not also save your time but using open source packages can give you a better security than what you build on your own. Here we gather few useful Django packages for your upcoming projects.

Let’s check out the list of useful packages that are provided by Django

  • django-allauth - Integrated set of Django applications addressing authentication, registration, account management as well as third party (social) account authentication.

  • django-organisations - Multi user account for Django projects.

  • Wagtail - Wagtail would be great if it had a concept of components. Feincms and Django-cms both have the ability to populate a content area with any multitude of built-in or custom components. This paradigm works very well for large sites. Defining the fields of an entire page only really works for simple sites.

  • django-tables-2 - Lots of stuff on the web is shown in tables. It’s really handy to be able to manipulate HTML tables with the same ease as you can manipulate HTML forms in Django. That’s what this does for you. Place data in columns, make the data shortly and have pagination.

  • django-sql-explorer - Easily share data across your company via SQL queries. SQL Explorer aims to make the flow of data between people fast, simple, and confusion-free. It is a Django-based application that you can add to an existing Django site, or use as a standalone business intelligence tool. SQL Explorer values simplicity, intuitive use, unobtrusiveness, stability, and the principle of least surprise.

  • django-wiki - A wiki system with complex functionality for simple integration and a superb interface. Store your knowledge with style: Use Django models. It has almost fully translated into 7 languages, apart from the default (English).

  • django-reversion-compare - It's an extension to Django-reversion that provides a history compare view to compare two versions of a model which is under reversion.

  • django-rest-hooks - REST Hooks are fancier versions of webhooks. Traditional webhooks are usually managed manually by the user, but REST Hooks are not! They encourage RESTful access to the hooks (or subscriptions) themselves. Add one, two or 15 hooks for any combination of event and URLs, then get a notification in real-time by our bundled threaded callback mechanism.

  • django-cms - A Django application for managing hierarchical pages of content, possibly in multiple languages and/or on multiple sites.

  • django-haystack - Haystack provides modular search for Django. It features a unified, familiar API that allows you to plug in different search backends (such as Solr, Whoosh, Xapian, etc.) without having to modify your code.

  • django-uni-form - Django forms are easily rendered as tables, paragraphs, and unordered lists. However, elegantly rendered div based forms is something you have to do by hand. The purpose of this application is to provide a simple tag and/or filter that lets you quickly render forms in a div format.

  • django-devserver - A drop-in replacement for Django’s built-in runserver command. Features include: An extendable interface for handling things such as real-time logging. Integration with the werkzeug interactive debugger. An improved runserver allowing you to process requests simultaneously.

  • django-schedule - A calendaring/scheduling application, featuring: one-time and recurring events, calendar exceptions (occurrences changed or cancelled), occurrences accessible through Event API and Period API, relations of events to generic objects, ready to use, nice user interface, view day, week, month, three months and year and project sample which can be launched immediately and reused in your project.

  • django-bootstrap-datepicker-plus - This Django widget contains DatePicker Input, TimePicker Input, DateTimePicker Input, MonthPicker Input, TimePicker Input with date-range-picker functionality. The widget implements bootstrap-datetimepicker v4 to show bootstrap-datepicker in Django model forms and custom forms and can be configured easily for date-range selection.

  • django-active-link - The simplest way to highlight active links in your Django app.

  • django-modelqueryform - django-modelqueryform is a flexible app that helps you build Q object generating forms. It is a great tool if you want you users to be able to do filtered searches against your models.

  • django-otp - A pluggable framework for adding two-factor authentication to Django using one-time passwords.

  • django-registration - Simple user-registration application for Django, designed to make allowing user signups as painless as possible.

  • django-sentry - Sentry provides you with a generic interface to view and interact with your error logs. By default, it will catch any exception thrown by Django and store it in a database.

  • django-userena - Accounts for Django made beautifully simple.

  • django-two-factor-auth - User-friendly Two-Factor Authentication.

  • django-easy-maps - This app makes it easy to display a map for given address in Django templates. No API keys, manual geocoding, html/js copy-pasting or Django model changes is needed.

  • django-extra-views - You can use the corresponding CBVs of django-extra-views to support the multiple-form workflows as it allows you to add/edit multiple object instances in a single view.

  • django-rest-framework - It is the best package for creating web APIs with Django.

  • django-import-export - It can be used to enhance your models with mass import and export capabilities.

  • django-sendfile - It helps you fulfill the above requirements: It allows you to check permissions to your media through your Django application but then offload the serving of your media files to the web server.

  • django-taggit - It's the library you’ll want to use if you have to use tags with your models. A tag is a synonym for keyword, i.e adding some words/phrases to your instances that are used to categorise and describe em.

  • django-compressor - It's package that combines and minifies your CSS and javascript (both files and line snippets) into static files.

  • django-generic-scaffold - django-generic-scaffold is a package that can be used to quickly (and DRYly) create CRUD CBVs for your models. Using django-generic-scaffold you can just create a scaffold which is related with a Model and all the views will be automatically created - you only need to link them to your urls.py.

  • django-filter - It's used to create filters for your data. It plays well with django-tables2 but you can use it to create filters for any kind of listing you want. It works similar to django-tables2.

  • django-rq - django-rq is a django wrapper for the rq library. It uses for asynchronous tasks.

  • django-localflavor - It offers useful stuff for various countries, mainly form fields with the correct validation and lists of choices.

  • django-bootstrapped - Bootstrapped is a reusable Django application to quickly integrate the Bootstrap toolkit from Twitter. It's a collection of the bootstrap toolkit files and template tags to display them. This application depends on django.contrib.staticfiles. But no files from Twitter's Bootstrap toolkit have been modified and retain their Apache 2.0 license.

  • django-cookie-consent - django-cookie-consent is a reusable application for managing various cookies and visitors consent for their use in Django project. Cookies and cookie groups are stored in models for easy management through Django admin interface. It supports for both opt-in and opt-out cookie consent schemes.

  • django-spreedly - This app can be used to add support for the spreedly subscription service to your django app. But this app is still in development process.

 

The above packages should cover most of your Django needs. We have listed only packages that work with new Django versions and should be fairly easy to integrate with your projects. If you need anything more or want to take a general look at some of the packages then check out the django's official packages site. Thank you!

Recommended for you