Skip to content

Commit 0907b32

Browse files
frankwilescarltongibsonpre-commit-ci[bot]tim-schilling
authored
Sc ecosystem page (#2060)
* Bootstrap ecosystem page. View at /community/ecosystem/ * Block out page HTML. * Added (plain-text) resource links/descriptions * Style the links a little bit without getting too fancy * Add community ecosystem page to index - Rename duplicate url name - Add package Material Icon - Add section and link from index page to ecosystem page * Add packages the Steering Council package list These are just a first stab at a list of packages that are good starting points for new members of the community. Needs to be vetted for URL/description accuracy. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update djangoproject/templates/aggregator/ecosystem.html Co-authored-by: Tim Schilling <[email protected]> * Update djangoproject/templates/aggregator/ecosystem.html Co-authored-by: Tim Schilling <[email protected]> * Update djangoproject/templates/aggregator/ecosystem.html Co-authored-by: Tim Schilling <[email protected]> * Update djangoproject/templates/aggregator/ecosystem.html Co-authored-by: Tim Schilling <[email protected]> * Update djangoproject/templates/aggregator/ecosystem.html Co-authored-by: Tim Schilling <[email protected]> * Update djangoproject/templates/aggregator/ecosystem.html Co-authored-by: Tim Schilling <[email protected]> * Update djangoproject/templates/aggregator/ecosystem.html Co-authored-by: Tim Schilling <[email protected]> * Update djangoproject/templates/aggregator/ecosystem.html Co-authored-by: Tim Schilling <[email protected]> * Include additional information section with first example * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Include Tim's suggestion to adjust the Package header * Add more resources - classy docs - missing DjangoGirls Link - Social media accounts (probably missing something) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Finish Tim suggestions * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Misc additions/changes to ecosystem page - Refactors some sections - Added a couple more items to our list * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: Carlton Gibson <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Tim Schilling <[email protected]>
1 parent b5ff8f0 commit 0907b32

File tree

4 files changed

+223
-0
lines changed

4 files changed

+223
-0
lines changed

aggregator/urls.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
from django.urls import path
2+
from django.views.generic.base import TemplateView
23

34
from . import views
45

56
urlpatterns = [
67
path("", views.index, name="community-index"),
8+
path(
9+
"ecosystem/",
10+
TemplateView.as_view(template_name="aggregator/ecosystem.html"),
11+
name="community-ecosystem",
12+
),
713
path(
814
"local/",
915
views.LocalDjangoCommunitiesListView.as_view(),
Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
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+
&mdash; A curated list of awesome things related to Django.
19+
</li>
20+
<li>
21+
<a href="https://djangopackages.org">Django Packages</a>
22+
&mdash; 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+
&mdash; 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+
&mdash; 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+
&mdash; 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+
&mdash; Weekly Django news, articles, projects, and more.
40+
</li>
41+
<li>
42+
<a href="https://djangochat.com">DjangoChat Podcast</a>
43+
&mdash; A podcast on the Django Web Framework.
44+
</li>
45+
<li>
46+
<a href="https://djangobrew.com">DjangoBrew Podcast</a>
47+
&mdash; 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+
&mdash; 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+
&mdash; 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+
&mdash; Django Conference US YouTube channel.
60+
</li>
61+
<li>
62+
<a href="https://www.youtube.com/@DjangoConEurope">DCEU YouTube</a>
63+
&mdash; Django Conference Europe YouTube channel.
64+
</li>
65+
<li>
66+
<a href="https://djangotv.com">Django.tv</a>
67+
&mdash; Django video content platform.
68+
</li>
69+
<li>
70+
<a href="https://ccbv.co.uk">Classy Class-Based Views Documentation</a>
71+
&mdash; 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+
&mdash; 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+
&mdash; 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 &mdash; <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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; Adds a "Log in as user" button in the Django admin interface for easy user impersonation.</li>
130+
</ul>
131+
132+
<h3>Forms &amp; Views</h3>
133+
<ul>
134+
<li><a href="https://github.com/django-crispy-forms/django-crispy-forms">django-crispy-forms</a> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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> &mdash; 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 %}

djangoproject/templates/aggregator/index.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,18 @@ <h3>{% translate "Discord - Chat with us" %}</h3>
2525
</a>
2626
</div>
2727

28+
<h2 class="community-title">{% translate "Third Party Packages" %}</h2>
29+
<div class="community-cta-wrapper">
30+
<a href="{% url "community-ecosystem" %}" class="community-cta-a">
31+
<div class="community-cta">
32+
<div>
33+
{% include "svg_logos/package.html" %}
34+
</div>
35+
<h3>{% translate "Package Ecosystem" %}</h3>
36+
</div>
37+
</a>
38+
</div>
39+
2840
<h2 class="community-title">{% translate "Get Involved" %}</h2>
2941
<div class="community-cta-wrapper">
3042
<a href="https://docs.djangoproject.com/en/dev/internals/contributing/bugs-and-features/#reporting-bugs" class="community-cta-a">
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
{# Material Symbols - Copyright 2022 Google LLC - Used under terms of Apache 2.0 license #}
2+
<svg xmlns="http://www.w3.org/2000/svg" height="150px" viewBox="0 -960 960 960" width="150px" fill="#e3e3e3"><path d="M440-183v-274L200-596v274l240 139Zm80 0 240-139v-274L520-457v274Zm-80 92L160-252q-19-11-29.5-29T120-321v-318q0-22 10.5-40t29.5-29l280-161q19-11 40-11t40 11l280 161q19 11 29.5 29t10.5 40v318q0 22-10.5 40T800-252L520-91q-19 11-40 11t-40-11Zm200-528 77-44-237-137-78 45 238 136Zm-160 93 78-45-237-137-78 45 237 137Z"/></svg>

0 commit comments

Comments
 (0)