This article was first published on my blog, dreamers blog, welcome to follow.

The great thing about Django is that it is large and comprehensive. Not only is it built with ORM, forms, template engine, user system, etc., but the ecosystem of third-party applications is so complete that you can find third-party implementations for most common functions in development. Here are 10 excellent Django third-party libraries (most of which have 1000 or more stars on GitHub and are under constant maintenance and update). While these libraries are great for social networking development, many of them are generic and can be used for any project developed with Django. Using these libraries will greatly increase development efficiency and productivity.

django-model-utils

Django Model mixins and Utilities.

GitHub address: github.com/jazzband/dj…

Document address: django – model – utils. Readthedocs. IO/en/latest /

Comments: Enhance Django’s Model module. There are some generic model mixins built in, such as the TimeStampedModel, which provides a created and modified time Field for the model, as well as some useful fields that almost every Django project can use.

django-allauth

Brief introduction: Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication.

GitHub address: github.com/pennersr/dj…

Document address: django – allauth. Readthedocs. IO/en/latest /

Django.contrib. auth improves Django’s built-in contrib.auth module to provide user authentication functions such as login, registration, email authentication, password retrieval, and so on. In addition, it also provides OAuth third-party login functions, such as domestic weibo and wechat login, foreign GitHub, Google, Facebook login, etc., almost including most of the popular third-party account login. Simple configuration, out of the box.

django-crispy-forms

Brief introduction: The best way to have DRY Django forms. The app provides a tag and filter that lets you quickly render forms in a div format while providing an enormous amount of capability to configure and control the rendered HTML.

GitHub address: github.com/django-cris…

Document address: Django-Crispy-forms.rtfd.org/

Comments: Great enhancements to Django’s built-in forms. Django’s built-in forms generate native HTML form code fine, but styling it is a hassle. Django-crispy-forms helps you render a bootstrap-style form with one line of code, as well as other popular CSS frameworks.

django-mptt

Utilities for implementing a modified pre-order traversal tree in Django.

GitHub address: github.com/django-mptt…

Django-mptt.readthedocs. IO /

Comments: With Djangos ORM system, generate a tree structure for database records and provide a convenient API for manipulating tree records. For example, you can use it to implement a multi-level comment system. In summary, as long as your data structure may need to be represented by a tree, Django-MPTT will greatly improve your development efficiency.

django-contrib-comments

Django used to include a comments framework; Since Django 1.6 it’s been separated to a separate project. This is that project.

This framework can be used to attach comments to any model, so you can use it for comments on blog entries, photos, book chapters, or anything else.

GitHub address: github.com/django/djan…

Django-contrib-comments.readthedocs. IO /

Comments: Used to provide comments. It was first integrated in Djangos contrib library, but has since been moved out to be maintained separately. This comment library provides basic comment functionality, but only supports single level comments. The good news is that the library is very extensible. Based on the aforementioned Django-MPTT, you can build a comment library that supports hierarchical comments. As shown in the comments section of my blog (the comments module for personal blogs is written based on django-contrib-comments and Django-mptt).

django-imagekit

Introduction: Automated Image Processing for Django.

GitHub address: github.com/matthewwith…

Document address: django-imagekit.rtfd.org/

Comments: Social networking sites inevitably deal with some images, such as avatars, pictures uploaded by users and other content. Django-imagekit helps you automatically crop, compress, and create thumbnails of images with Django’s Model module.

django-brace

About: Reusable, Generic Mixins for Django

GitHub address: github.com/brack3t/dja…

Document address: django – braces. Readthedocs. IO/en/latest/I…

Comments: Django’s built-in class Based view is awesome, but there are some general class views that aren’t included in django’s source code. This library adds more common class views. Class views are an important and elegant feature of Django. Using class views reduces the amount of code you need to write for view functions, improves code reuse for view functions, and so on. Take a closer look at the Django class view source code analysis.

django-notifications-hq

GitHub Notifications Alike App for Django

GitHub address: github.com/django-noti…

Address: document pypi.python.org/pypi/django…

Comments: There’s nothing to be said for giving your site notifications like GitHub. Number of unread notifications, notification list, marked as read, etc.

django-simple-captcha

Brief introduction: Django Simple Captcha is an extremely simple, yet highly customizable Django application to add captcha images to any Django form.

GitHub address: github.com/mbi/django-…

Document address: django – simple – captcha. Readthedocs. IO/en/latest /

Comments: It’s easy to add a captcha field to a form with Django’s form module. Requirements for low validation, such as a registration form to prevent automatic robot registration, are very convenient to use.

django-anymail

Django Email backends and webhooks for Mailgun, Mailjet, Postmark, SendGrid, SparkPost and More

GitHub address: github.com/anymail/dja…

Document address: anymail.readthedocs. IO /

Comments: With Django’s email module, you can send emails using Mailgun, SendGrid, etc., with a simple configuration.

django-activity-stream

Brief introduction: Generate generic activity streams from the actions on your site. Users can follow any actors’ activities for personalized streams.

GitHub address: github.com/justquick/d…

Document address: django – activity – stream. RTFD. IO/en/latest /

Comments: Social networking sites are inevitably concerned, favorites, likes, user dynamics and other functions, this app is all done. It’s not even impossible to create a circle of friends.