|
| 1 | +{% extends "base_community.html" %} |
| 2 | +{% load i18n %} |
| 3 | + |
| 4 | +{% block content %} |
| 5 | + |
| 6 | + |
| 7 | + <h1>Django's Ecosystem</h1> |
| 8 | + |
| 9 | + <p>Django's <em>Secret Sauce</em> is its ecosystem of third-party apps and add-ons.</p> |
| 10 | + <p>No matter your need, there'll be a package you can use or take ideas from.</p> |
| 11 | + |
| 12 | + <h2>Resources</h2> |
| 13 | + |
| 14 | + <!-- Name, Short Description, Link — Roughly this order --> |
| 15 | + <ul> |
| 16 | + <li> |
| 17 | + <a href="https://awesomedjango.org">Awesome Django</a> |
| 18 | + — A curated list of awesome things related to Django. |
| 19 | + </li> |
| 20 | + <li> |
| 21 | + <a href="https://djangopackages.org">Django Packages</a> |
| 22 | + — A directory of reusable apps, sites, tools, and more for your Django projects. |
| 23 | + </li> |
| 24 | + |
| 25 | + <li> |
| 26 | + <a href="https://jazzband.co/projects">Jazzband</a> |
| 27 | + — A collaborative community to share the responsibility of maintaining Python-based (but mainly Django) projects. |
| 28 | + </li> |
| 29 | + <li> |
| 30 | + <a href="https://github.com/django-commons">Django Commons</a> |
| 31 | + — an organization dedicated to supporting the community's efforts to maintain packages. |
| 32 | + </li> |
| 33 | + <li> |
| 34 | + <a href="https://djangogirls.org/">DjangoGirls</a> |
| 35 | + — Django Girls is a non-profit organization and a community that empowers and helps women to organize free, one-day programming workshops by providing tools, resources and support. |
| 36 | + </li> |
| 37 | + <li> |
| 38 | + <a href="https://django-news.com">Django News</a> |
| 39 | + — Weekly Django news, articles, projects, and more. |
| 40 | + </li> |
| 41 | + <li> |
| 42 | + <a href="https://djangochat.com">DjangoChat Podcast</a> |
| 43 | + — A podcast on the Django Web Framework. |
| 44 | + </li> |
| 45 | + <li> |
| 46 | + <a href="https://djangobrew.com">DjangoBrew Podcast</a> |
| 47 | + — A fun, caffeine-powered podcast about the Django web. |
| 48 | + </li> |
| 49 | + <li> |
| 50 | + <a href="https://creators.spotify.com/pod/show/djangogirls">DjangoGirls Podcast</a> |
| 51 | + — A podcast sharing the stories of attendees, coaches and organisers of DjangoGirls workshops around the world. |
| 52 | + </li> |
| 53 | + <li> |
| 54 | + <a href="https://djangobook.com">DjangoBook.com</a> |
| 55 | + — An aggregator for in-print books and courses on Django. |
| 56 | + </li> |
| 57 | + <li> |
| 58 | + <a href="https://www.youtube.com/@DjangoConUS">DCUS YouTube</a> |
| 59 | + — Django Conference US YouTube channel. |
| 60 | + </li> |
| 61 | + <li> |
| 62 | + <a href="https://www.youtube.com/@DjangoConEurope">DCEU YouTube</a> |
| 63 | + — Django Conference Europe YouTube channel. |
| 64 | + </li> |
| 65 | + <li> |
| 66 | + <a href="https://djangotv.com">Django.tv</a> |
| 67 | + — Django video content platform. |
| 68 | + </li> |
| 69 | + <li> |
| 70 | + <a href="https://ccbv.co.uk">Classy Class-Based Views Documentation</a> |
| 71 | + — Alternative docs with detailed descriptions, with full methods and attributes, for each of Django's class-based generic views. |
| 72 | + </li> |
| 73 | + <li> |
| 74 | + <a href="https://www.cdrf.co">Classy Django REST Framework</a> |
| 75 | + — Alternative docs with detailed descriptions, with full methods and attributes, for each of Django REST Framework's class-based views and serializers. |
| 76 | + </li> |
| 77 | + <li> |
| 78 | + <a href="https://tutorial.djangogirls.org/">DjangoGirls Tutorial</a> |
| 79 | + — A great tutorial you can do in addition to the <a href="/en/dev/intro/tutorial/01/">official tutorial</a>. |
| 80 | + </li> |
| 81 | + |
| 82 | + <li>Follow Django on Social Media — <a href="https://bsky.app/profile/djangoproject.com">Bluesky</a>, <a href="https://www.linkedin.com/company/django-software-foundation/">LinkedIn</a>, <a href="https://x.com/djangoproject">Twitter</a></li> |
| 83 | + </ul> |
| 84 | + |
| 85 | + |
| 86 | + <p>Explore! A whole world awaits you.</p> |
| 87 | + |
| 88 | + |
| 89 | + <h2>Packages - use community solutions</h2> |
| 90 | + |
| 91 | + <p>We could never list everything but here are some packages that the Steering Council all agree are |
| 92 | + incredibly useful and well supported. We use many of these in all of our projects.</p> |
| 93 | + |
| 94 | + <p>We will refresh this list at least yearly to keep up to date.</p> |
| 95 | + |
| 96 | + <h3>Debugging & Development Tools</h3> |
| 97 | + <ul> |
| 98 | + <li><a href="https://github.com/jazzband/django-debug-toolbar">Django Debug Toolbar</a> — A configurable set of panels that display various debug information about the current request/response.</li> |
| 99 | + <li><a href="https://github.com/django-browser-reload/django-browser-reload">django-browser-reload</a> — Enables automatic browser reloading during development when code changes are detected.</li> |
| 100 | + <li><a href="https://github.com/django-extensions/django-extensions">Django Extensions</a> — A collection of custom extensions for Django, including management commands, model field types, and more.</li> |
| 101 | + </ul> |
| 102 | + |
| 103 | + <h3>Storage & Static Files</h3> |
| 104 | + <ul> |
| 105 | + <li><a href="https://github.com/jschneier/django-storages">django-storages</a> — Provides a variety of storage backends for Django, including S3, Azure, and more. <a href="#django-storages">Learn More...</a></li> |
| 106 | + <li><a href="https://github.com/evansd/whitenoise">Whitenoise</a> — Serves static files directly from Django without the need for a separate web server.</li> |
| 107 | + </ul> |
| 108 | + |
| 109 | + <h3>API Development</h3> |
| 110 | + <ul> |
| 111 | + <li><a href="https://github.com/encode/django-rest-framework">Django REST Framework (DRF)</a> — A powerful and flexible toolkit for building Web APIs in Django.</li> |
| 112 | + <li><a href="https://github.com/vitalik/django-ninja">Django Ninja</a> — A fast, asynchronous-ready web framework for building APIs with Django and Python type hints.</li> |
| 113 | + </ul> |
| 114 | + |
| 115 | + <h3>Content Management Systems (CMS)</h3> |
| 116 | + <ul> |
| 117 | + <li><a href="https://github.com/wagtail/wagtail">Wagtail</a> — An open-source Django CMS focused on flexibility and user experience.</li> |
| 118 | + <li><a href="https://github.com/django-cms/django-cms">Django CMS</a> — A user-friendly and developer-friendly CMS for Django, offering multilingual support and a plugin architecture.</li> |
| 119 | + <li><a href="https://github.com/feincms/feincms">FeinCMS</a> — A Django-based CMS with a focus on extensibility and minimalism.</li> |
| 120 | + </ul> |
| 121 | + |
| 122 | + <h3>Authentication & Authorization</h3> |
| 123 | + <ul> |
| 124 | + <li><a href="https://github.com/pennersr/django-allauth">Django Allauth</a> — Integrated set of Django applications addressing authentication, registration, account management, and third-party (social) account authentication.</li> |
| 125 | + <li><a href="https://github.com/python-social-auth/social-app-django">Python Social Auth - Django</a> — Easy-to-setup social authentication/registration mechanism with support for several frameworks and auth providers.</li> |
| 126 | + <li><a href="https://github.com/django-guardian/django-guardian">Django Guardian</a> — Implementation of per-object permissions for Django, allowing fine-grained access control.</li> |
| 127 | + <li><a href="https://github.com/BetterWorks/django-impersonate">django-impersonate</a> — Allows superusers to impersonate other users for debugging or support purposes.</li> |
| 128 | + <li><a href="https://github.com/django-hijack/django-hijack">Django Hijack</a> — Enables admins to log in and work on behalf of other users without needing their credentials.</li> |
| 129 | + <li><a href="https://github.com/skorokithakis/django-loginas">django-loginas</a> — Adds a "Log in as user" button in the Django admin interface for easy user impersonation.</li> |
| 130 | + </ul> |
| 131 | + |
| 132 | + <h3>Forms & Views</h3> |
| 133 | + <ul> |
| 134 | + <li><a href="https://github.com/django-crispy-forms/django-crispy-forms">django-crispy-forms</a> — Helps to manage Django forms in a DRY way, allowing control over form rendering behavior.</li> |
| 135 | + <li><a href="https://github.com/AndrewIngram/django-extra-views">django-extra-views</a> — Provides additional class-based views to complement Django's built-in generic views.</li> |
| 136 | + </ul> |
| 137 | + |
| 138 | + <h3>Templates</h3> |
| 139 | + <ul> |
| 140 | + <li><a href="https://github.com/carltongibson/django-template-partials">django-template-partials</a> — Reusable named inline partials for Django Templates.</li> |
| 141 | + </ul> |
| 142 | + |
| 143 | + <h3>Environment Configuration</h3> |
| 144 | + <ul> |
| 145 | + <li><a href="https://github.com/theskumar/python-dotenv">python-dotenv</a> — Reads key-value pairs from a .env file and can set them as environment variables, aiding in development and deployment.</li> |
| 146 | + <li><a href="https://github.com/joke2k/django-environ">django-environ</a> — Allows you to utilize 12-factor methodology to configure your Django application with environment variables.</li> |
| 147 | + </ul> |
| 148 | + |
| 149 | + <h3>Security & Middleware</h3> |
| 150 | + <ul> |
| 151 | + <li><a href="https://github.com/adamchainz/django-cors-headers">Django CORS Headers</a> — Adds Cross-Origin Resource Sharing (CORS) headers to Django responses, allowing or blocking cross-origin requests.</li> |
| 152 | + <li><a href="https://github.com/mozilla/django-csp">Django CSP</a> — Implements Content Security Policy for Django applications to prevent XSS and other code injection attacks.</li> |
| 153 | + </ul> |
| 154 | + |
| 155 | + <h3>Testing & Fixtures</h3> |
| 156 | + <ul> |
| 157 | + <li><a href="https://github.com/model-bakers/model_bakery">Model Bakery</a> — A tool for creating model instances for testing purposes, focusing on simplicity and speed.</li> |
| 158 | + <li><a href="https://github.com/FactoryBoy/factory_boy">Factory Boy</a> — A test fixtures replacement that provides a powerful way to create test data.</li> |
| 159 | + <li><a href="https://github.com/adamchainz/time-machine">time-machine</a> — A tool for mocking time in tests.</li> |
| 160 | + </ul> |
| 161 | + |
| 162 | + <h3>Admin Interface Enhancements</h3> |
| 163 | + <ul> |
| 164 | + <li><a href="https://github.com/jrief/django-admin-sortable2">django-admin-sortable2</a> — Adds drag-and-drop sorting functionality to the Django admin interface.</li> |
| 165 | + <li><a href="https://github.com/django-import-export/django-import-export">Django Import Export</a> — Allows importing and exporting of data through the Django admin interface using various formats.</li> |
| 166 | + </ul> |
| 167 | + |
| 168 | + <h3>Internationalization & Localization</h3> |
| 169 | + <ul> |
| 170 | + <li><a href="https://github.com/deschler/django-modeltranslation">django-modeltranslation</a> — Translates dynamic content of existing models to different languages without having to change the original model structure.</li> |
| 171 | + <li><a href="https://github.com/zostera/django-modeltrans/">django-modeltrans</a> — Provides a simple way to translate Django models using a JSONField.</li> |
| 172 | + <li><a href="https://github.com/mbi/django-rosetta">django-rosetta</a> — Simplifies the translation process of Django projects by providing a web-based interface to edit .po files.</li> |
| 173 | + </ul> |
| 174 | + |
| 175 | + <h3>Email & Notifications</h3> |
| 176 | + <ul> |
| 177 | + <li><a href="https://anymail.dev">django-anymail</a> — Integrates various transactional email services (like Mailgun, SendGrid) with Django's email backend.</li> |
| 178 | + <li><a href="https://github.com/ambient-innovation/django-pony-express/">Django Pony Express</a> — A simple email queuing and sending system for Django applications.</li> |
| 179 | + </ul> |
| 180 | + |
| 181 | + <h3>Utilities & Miscellaneous</h3> |
| 182 | + <ul> |
| 183 | + <li><a href="https://github.com/RealOrangeOne/django-tasks">Django Tasks</a> — A lightweight task queue for Django applications, suitable for simple background task processing.</li> |
| 184 | + <li><a href="https://github.com/django-waffle/django-waffle">django-waffle</a> — Feature flipper for Django, allowing for easy rollout and testing of new features.</li> |
| 185 | + <li><a href="https://github.com/carltongibson/django-filter">django-filter</a> — Provides a simple way to filter down querysets based on user selections.</li> |
| 186 | + </ul> |
| 187 | + |
| 188 | + <h2>More Information</h2> |
| 189 | + |
| 190 | + <p>Some things require more information than others. To keep the above more scanable we will include any in-depth information here.</p> |
| 191 | + |
| 192 | + <h3 id="django-storages">django-storages</h3> |
| 193 | + |
| 194 | + <p> |
| 195 | + This package is perfect when deploying Django in situations that do include a shared filesystem. For either uploaded files from |
| 196 | + users and/or you static media if is often necessary to store files using "object storage" such as Amazon S3. |
| 197 | + </p> |
| 198 | + |
| 199 | + <p> |
| 200 | + Keep in mind there are many S3 compatible object storage systems. Most cloud providers you may have an option and if not you can run your own MinIO instance. |
| 201 | + Get more information which options are supported <a href="https://django-storages.readthedocs.io/en/latest/">in the django-storages docs</a>. |
| 202 | + </p> |
| 203 | +{% endblock %} |
0 commit comments