{"id":73456,"url":"https://github.com/matagus/awesome-django-articles","name":"awesome-django-articles","description":"📚 Articles explaining topics about Django like admin, ORM, views, forms, scaling, performance, testing, deployments, APIs, and more!","projects_count":144,"last_synced_at":"2026-10-06T14:00:23.976Z","repository":{"id":226236745,"uuid":"765931543","full_name":"matagus/awesome-django-articles","owner":"matagus","description":"📚 Articles explaining topics about Django like admin, ORM, views, forms, scaling, performance, testing, deployments, APIs, and more!","archived":false,"fork":false,"pushed_at":"2026-09-11T12:19:07.000Z","size":150,"stargazers_count":57,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-09-17T00:18:02.433Z","etag":null,"topics":["articles","awesome","awesome-list","best-practices","blog-articles","django","django-admin","django-articles","django-orm","django-templates","django-testing","learning","links","performance","scaling"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matagus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-01T22:46:57.000Z","updated_at":"2026-09-11T12:19:11.000Z","dependencies_parsed_at":"2024-04-25T23:26:18.381Z","dependency_job_id":"4dfa2cc3-0387-49c2-9d42-eaeb1135df87","html_url":"https://github.com/matagus/awesome-django-articles","commit_stats":null,"previous_names":["matagus/awesome-django-articles"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/matagus/awesome-django-articles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matagus%2Fawesome-django-articles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matagus%2Fawesome-django-articles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matagus%2Fawesome-django-articles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matagus%2Fawesome-django-articles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matagus","download_url":"https://codeload.github.com/matagus/awesome-django-articles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matagus%2Fawesome-django-articles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":343170754,"owners_count":38087850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-06T02:00:06.537Z","response_time":86,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-10-11T07:35:18.503Z","updated_at":"2026-10-06T14:00:23.976Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["Table of Contents"],"sub_categories":["Frontend Integration","HTMX","File Uploads","Django Admin","Models","Performance / Scaling","Testing","Websockets","About Django","API Development","Architecture","Authentication \u0026 Permissions","Django ORM / Database","Caching","Contributing","Dependency Management","Deployment","Encryption","Job Hunting","Learning Django","Logging","Multitenancy","Single-File Django Projects","Profiling","Request / Response","Serverless","Settings","Signals","Time Zones","Views","Sources","Background Tasks","Debugging","Security","Type Hints"],"readme":"# awesome-django-articles\n\n[![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![Django](https://img.shields.io/badge/Django-green.svg)](https://www.djangoproject.com/)\n\n--\n\n## Table of Contents\n\n - [About Django](#about-django)\n - [API Development](#api-development)\n - [Architecture](#architecture)\n - [Authentication \u0026 Permissions](#authentication--permissions)\n - [Background Tasks](#background-tasks)\n - [Caching](#caching)\n - [Contributing](#contributing)\n - [Debugging](#debugging)\n - [Dependency Management](#dependency-management)\n - [Deployment](#deployment)\n - [Django Admin](#django-admin)\n - [Django ORM / Database](#django-orm--database)\n - [Encryption](#encryption)\n - [File Uploads](#file-uploads)\n - [Frontend Integration](#frontend-integration)\n - [HTMX](#htmx)\n - [Job Hunting](#job-hunting)\n - [Learning Django](#learning-django)\n - [Logging](#logging)\n - [Models](#models)\n - [Multitenancy](#multitenancy)\n - [Performance / Scaling](#performance--scaling)\n - [Profiling](#profiling)\n - [Request / Response](#request--response)\n - [Security](#security)\n - [Serverless](#serverless)\n - [Settings](#settings)\n - [Signals](#signals)\n - [Single-File Django Projects](#single-file-django-projects)\n - [Testing](#testing)\n - [Time Zones](#time-zones)\n - [Type Hints](#type-hints)\n - [Views](#views)\n - [Websockets](#websockets)\n\n--\n\n### About Django\n\n - [Django Build To Last](https://www.better-simple.com/django/2023/03/30/built-to-last/)\n - [Shedding light on Django versioning](https://fly.io/django-beats/shedding-light-on-django-versioning/)\n - [New goodies in Django 5.0](https://fly.io/django-beats/new-goodies-in-django-50/)\n\n### API Development\n\n - [Faster API development with django-dataclasses](https://medium.com/roivant-technology/faster-api-development-with-django-dataclasses-5d33c366f23c) by Alec Clowes\n - [Model validation in Django REST Framework](https://www.kye.id.au/blog/posts/django-rest-framework-model-validation) by Kye Russell\n\n### Architecture\n\n - [Against service layers in Django](https://www.b-list.org/weblog/2020/mar/16/no-service/) by James Bennett\n - [Business logic: what's the effort to switch between approaches?](https://forum.djangoproject.com/t/business-logic-whats-the-effort-to-switch-between-approaches/44512) at [Django Forum](https://forum.djangoproject.com/)\n - [Clean Architecture in Django](https://medium.com/21buttons-tech/clean-architecture-in-django-d326a4ab86a9) by Jordi Fierro\n - [Django for Startup Founders: A better software architecture for SaaS startups and consumer apps](https://alexkrupp.typepad.com/sensemaking/2021/06/django-for-startup-founders-a-better-software-architecture-for-saas-startups-and-consumer-apps.html) by Alex Krupp\n - [Django: Keeping logic out of templates (and views)](https://thebiglog.com/posts/django-keeping-logic-out-of-templates-and-views) by Shibel K. Mansour\n - [Fat models, thin views, what about tasks?](https://forum.djangoproject.com/t/fat-models-thin-views-what-about-tasks/42707/11) at [Django Forum](https://forum.djangoproject.com/)\n - [More on service layers in Django](https://www.b-list.org/weblog/2020/mar/23/still-no-service/) by James Bennett\n - [Structuring large/complex Django projects, and using a services layer in Django projects](https://forum.djangoproject.com/t/structuring-large-complex-django-projects-and-using-a-services-layer-in-django-projects/1487/8) at [Django Forum](https://forum.djangoproject.com/)\n - [The Single Folder Django Project Layout](https://noumenal.es/notes/django/single-folder-layout/) by Carlton Gibson\n - [Thoughts on Django application architecture approaches](https://bradleykirton.com/2024/01/14/thoughts-on-django-application-architecture-approaches/) by Bradley Kirton\n - [Who is using Django for REALLY large projects?](https://forum.djangoproject.com/t/who-is-using-django-for-really-large-projects/166) at [Django Forum](https://forum.djangoproject.com/)\n\n### Authentication \u0026 Permissions\n\n - [Django Roles, Groups, and Permissions Introduction](https://medium.com/djangotube/django-roles-groups-and-permissions-introduction-a54d1070544) by Hemanth S P\n - [Fine Tuning Django User Permissions](https://dandavies99.github.io/posts/2021/11/django-permissions/) by Daniel W Davies\n - [How to Serve Protected Content With Django (Without Bogging Down Your Application Server)](https://wellfire.co/learn/nginx-django-x-accel-redirects/)\n - [How to restrict access with Django Permissions](https://coderbook.com/@marcus/how-to-restrict-access-with-django-permissions/) by Marcus Lind\n - [Permissions in Django](https://testdriven.io/blog/django-permissions/) by Oluwole Majiyagbe\n\n### Background Tasks\n\n - [Looking at Django task runners and queues](https://www.loopwerk.io/articles/2025/django-task-queues/) by Kevin Renskers\n - [A Deep Dive into Celery Task Resilience, Beyond Basic Retries](https://blog.gitguardian.com/celery-tasks-retries-errors/) by Mathias Millet\n - [ Using Async Functions in Celery with Django Connection Pooling](https://mrdonbrown.blogspot.com/2025/10/using-async-functions-in-celery-with.html) by Don Brown\n - [Django 6.0 Tasks: a framework without a worker](https://www.loopwerk.io/articles/2026/django-tasks-review/) by Kevin Renskers\n\n### Django Admin\n\n - [Customizing the Django Admin](https://testdriven.io/blog/customize-django-admin/) by Nik Tomazic\n - [How to turn Django Admin into a lightweight dashboard](https://hakibenita.medium.com/how-to-turn-django-admin-into-a-lightweight-dashboard-a0e0bbf609ad) by Haki Benita\n - [10 tips for making the Django Admin more secure](https://opensource.com/article/18/1/10-tips-making-django-admin-more-secure) by Jeff Triplett \u0026 Lacey Williams Henschel\n - [Why is the Django Admin “Ugly”?](https://www.coderedcorp.com/blog/why-is-the-django-admin-ugly/) by Vince Salvino\n\n### Django ORM / Database\n\n - [5 ways to get all Django objects with a related object](https://johnnymetz.com/posts/five-ways-to-get-django-objects-with-a-related-object/) by Johnny Metz\n - [A Django PAGNI: efficient bulk properties](https://lukeplant.me.uk/blog/posts/django-pagni-efficient-bulk-properties/) by Luke Plant\n - [Avoiding Duplicate Objects in Django Querysets](https://johnnymetz.com/posts/avoiding-duplicate-objects-in-django-querysets/) by Johnny Metz\n - [Conditional aggregation in Django 2.0](https://www.peterbe.com/plog/conditional-aggregation-in-django-2.0) by Peter Bengtsson\n - [Database concurrency in Django the right way](https://www.vinta.com.br/blog/database-concurrency-in-django-the-right-way) by Vinta Software\n - [Database generated columns⁽²⁾: Django \u0026 PostgreSQL](https://www.paulox.net/2023/11/24/database-generated-columns-part-2-django-and-postgresql/) by Paolo Melchiorre\n - [Database generated columns⁽³⁾: GeoDjango \u0026 PostGIS](https://www.paulox.net/2023/12/11/database-generated-columns-part-3-geodjango-and-postgis/) by Paolo Melchiorre\n - [Django migrations and your database](https://www.better-simple.com/django/2023/06/03/django-migrations-and-your-database/) by Tim Schilling\n - [Django + Postgres: The Hunt for Long Running Queries](https://paul-gilmartin89.medium.com/django-postgres-hunting-for-long-running-queries-8b141af984ab) by Paul Gilmartin\n - [Django ORM Standalone⁽¹⁾: Querying an existing database](https://www.paulox.net/2026/02/20/django-orm-standalone-database-inspectdb-query/) by Paolo Melchiorre\n - [Django Time-Based Lookups: A Performance Trap](https://johnnymetz.com/posts/django-time-based-lookups-performance/) by Johnny Metz\n - [Don’t Let Old Migrations Haunt Your Codebase](https://lincolnloop.com/blog/dont-let-old-migrations-haunt-your-codebase/) by Martin Mahner\n - [Fuzzy String Matching in Django and PostgreSQL](https://www.caktusgroup.com/blog/2026/08/21/fuzzy-string-matching-django-postgresql/) by Tobias McNulty \u0026 Gerald Carlton\n - [Integrating Django with PostgreSQL Materialized Views](https://medium.com/@abdu11a/integrating-django-with-postgresql-materialized-view-2c7c30d44a59) by Abdulla Hashim\n - [Optimize Django Query Performance by combining Select Related and Prefetch Related](https://johnnymetz.com/posts/combine-select-related-prefetch-related/) by Johnny Metz\n - [Nifty Django Feature: Q() Objects](https://www.better-simple.com/django/2026/09/09/nifty-feature-q-objects/) by Tim Schilling\n - [Storing and retrieving tree structures in relational databases using Python (Django)](https://medium.com/@spybugg/storing-and-retrieving-tree-structures-in-relational-databases-using-python-django-7480f40c24b) by Deepak Singh\n - [The Fast Way to Test Django transaction.on_commit() Callbacks](https://adamj.eu/tech/2020/05/20/the-fast-way-to-test-django-transaction-on-commit-callbacks/) by Adam Johnson\n - [Transaction Types in Django Tests](https://jeancochrane.com/blog/django-test-transactions) by Jean Cochrane\n - [Squashing Django Migrations the Easy Way](https://jacklinke.com/squashing-django-migrations-the-easy-way) by Jack Linke\n - [Database optimization isn’t always obvious](https://kenwhitesell.github.io/2025/01/01/Database-optimization-is-not-alway-obvious.html) by Ken Whitesell\n - [Django’s select_for_update with Examples and Tests](https://medium.com/@alexandre.laplante/djangos-select-for-update-with-examples-and-tests-caff09414766) by Alexandre Laplante\n\n### Caching\n\n - [Django Caching 101: Understanding the Basics and Beyond](https://dev.to/pragativerma18/django-caching-101-understanding-the-basics-and-beyond-49p) by Pragati Verma\n\n### Contributing\n\n - [Looking to get involved? Start here!](https://forum.djangoproject.com/t/looking-to-get-involved-start-here/18014) by Carlton Gibson\n - [Getting Started Contributing to Django](https://www.better-simple.com/django/2024/12/25/getting-started-contributing-django/) by Tim Schilling\n - [A Complete Guide to Contribute to Django for the First Time](https://zachliugis.github.io/django/2016/02/11/a-complete-guide-to-contribute-to-django-for-the-first-time) by Zach Liu\n - [How to find a ticket on Django's trac](https://smithdc.uk/blog/2023/how_to_find_a_ticket_on_django_trac/) by David Smith\n - [DSF Working Groups](https://github.com/django/dsf-working-groups/blob/main/README.md) by Django Software Foundation\n\n### Debugging\n\n - [How to auto reload \u0026 debug Django and Django Celery workers running in Docker](https://blog.derlin.ch/auto-reload-plus-debug-django-and-django-celery-workers) by Lucy Linder\n - [Debugging a Containerized Django App in VS Code](https://testdriven.io/blog/django-debugging-vs-code/) by J-O Eriksson\n\n### Dependency Management\n\n - [Django Dependency Management with pip-compile and pip-tools](https://learndjango.com/tutorials/django-dependency-management-pip-compile-and-pip-t) by Will Vincent\n\n### Deployment\n\n - [An Efficient Multi-Stage Build for Python Django in Docker](https://blog.ploetzli.ch/2020/efficient-multi-stage-build-django-docker/) by Henryk Plötz\n - [Deploying Django Application on AWS with Terraform. Setting up Celery and SQS](https://dev.to/daiquiri_team/deploying-django-application-on-aws-with-terraform-setting-up-celery-and-sqs-38ik) by Yevhen Bondar\n - [Deploying a Django App to Render](https://testdriven.io/blog/django-render/) by Nik Tomazic\n - [Deploying completely serverless Django with Zappa and Aurora Serverless](https://www.agiliq.com/blog/2019/01/complete-serverless-django/) by Anmol Akhilesh\n - [Smooth Database Changes in Blue-Green Deployments](https://fly.io/django-beats/smooth-database-changes-in-blue-green-deployments/) by Mariusz Felisiak\n - [Stable Django deployments without downtime](https://kuttler.eu/en/post/django-deployments-without-downtime/) by Nicolas Kuttler\n - [Optimizing Django Docker Builds with Astral’s `uv`](https://rob.cogit8.org/posts/optimizing-django-docker-builds-with-astrals-uv/) by Rob Hudson\n\n### Encryption\n\n - [Exploring approaches to field-level encryption in Python for Django applications](https://www.piiano.com/blog/field-level-encryption-in-python-for-django-applications) by Imri Goldberg\n\n### File Uploads\n\n - [3 steps to upload files properly with Django (and HTMX) 📁](https://www.photondesigner.com/articles/upload-files-properly-django-htmx) by Tom Dekan\n - [Serving Private Files with Django and S3](https://lincolnloop.com/blog/serving-private-files-with-django-and-s3/) by Richard Terry\n\n### Frontend Integration\n\n - [Django Tailwind: How to configure Django and TailwindCSS from scratch in a new project](https://learndjango.com/tutorials/django-tailwind) by Learn Django\n - [Grouping in Django templates](https://thebiglog.com/posts/grouping-in-django-templates) by Shibel K. Mansour\n - [Setting Up Server Side Rendering with React, Redux, and Django](https://medium.com/meural-product-development/setting-up-server-side-rendering-with-react-redux-and-django-4d6f4d2fd705) by Alexander Richey\n - [Tutorial: Django REST with React (and a sprinkle of testing)](https://www.valentinog.com/blog/drf/) by Valentino Gagliardi\n\n### HTMX\n\n - [Add instant database search with Django and HTMX 🕵️](https://www.photondesigner.com/articles/database-search-django-htmx) by Tom Dekan\n - [Ajax-Enabled Checkbox and Select with Django and HTMX](https://jacklinke.com/ajax-enabled-checkbox-and-select-with-django-and-htmx) by Jack Linke\n - [Django Formsets Tutorial - Build dynamic forms with Htmx](https://justdjango.com/blog/dynamic-forms-in-django-htmx) by Matthew Freire\n - [Django and HTMX](https://dev.to/kummerer94/django-and-htmx-i5c) by Alexander Kammerer\n - [Django, HTMX and Alpine.JS: A Match Made In Heaven](https://dev.to/nicholas_moen/what-i-learned-while-using-django-with-htmx-and-alpine-js-24jg) by Nicholas Moen\n - [Django, HTMX and Alpine.js: Modern websites, JavaScript optional](https://www.saaspegasus.com/guides/modern-javascript-for-django-developers/htmx-alpine/) by Cory Zue\n - [How to create a Django form (using HTMX) in 90 seconds 🐎](https://www.photondesigner.com/articles/submit-async-django-form-with-htmx) by Tom Dekan\n - [Rapid Prototyping with Django, htmx, and Tailwind CSS](https://testdriven.io/blog/django-htmx-tailwind/) by Amal Shaji\n - [How to show a modal in Django + HTMX](https://joshkaramuth.com/blog/django-htmx-modal/) by Josh Karamuth\n - [Show Django flash messages as toasts with Htmx](https://joshkaramuth.com/blog/django-messages-toast-htmx/) by Josh Karamuth\n\n### Job Hunting\n\n - [Questions to ask a Django company](https://www.better-simple.com/career/2022/12/31/questions-to-ask-a-django-company/) by Tim Schilling\n\n### Learning Django\n\n - [Beginners should use Django, not Flask](https://www.bitecode.dev/p/beginners-should-use-django-not-flask) by Bite Code!\n - [Build an NFT rarity tool with Django](https://justdjango.com/blog/nft-rarity-tool) by Matthew Freire\n - [How to scaffold Django projects with Cookiecutter](https://thebiglog.com/posts/django-how-to-scaffold-cookiecutter) by Shibel K. Mansour\n - [Some notes on starting to use Django](https://jvns.ca/blog/2026/01/27/some-notes-on-starting-to-use-django/) by Julia Evans\n\n### Logging\n\n - [Structlog with Django is Awesome!](https://loop0.sh/posts/structlog-with-django-is-awesome/) by Bruno Ribeiro\n\n### Models\n\n - [Django models, encapsulation and data integrity](https://www.dabapps.com/insights/django-models-and-encapsulation/) by Tom Christie\n\n### Multitenancy\n\n - [Multitenancy: juggling customer data in Django](https://www.vinta.com.br/blog/multitenancy-juggling-customer-data-django) by Filipe Ximenes\n - [Building a Multi-tenant App with Django](https://testdriven.io/blog/django-multi-tenant/) by Nik Tomazic\n\n### Performance / Scaling\n\n - [19X faster response time](https://lincolnloop.com/insights/optimizing-response-time-19x-faster/) by Yann Malet\n - [Enhance Your Data Queries with Materialized Views in PostgreSQL and Django](https://blog.muehlemann-popp.ch/enhance-your-data-queries-with-materialized-views-in-postgresql-and-django-9e6804b4f332) by Silvan Mühlemann\n - [How to Optimize Django ORM Queries](https://gearheart.io/blog/how-optimize-django-orm-queries/) by Alexey Demianenko\n - [How to avoid a count query in Django if you can](https://www.peterbe.com/plog/how-to-avoid-a-count-query-in-django-if-you-can) by Peter Bengtsson\n - [How to optimize PostgreSQL queries from Django using pgMustard](https://adamj.eu/tech/2022/06/21/optimize-postgresql-queries-from-django-using-pgmustard/) by Adam Johnson\n - [Solving Performance Problems in the Django ORM](https://hansonkd.medium.com/performance-problems-in-the-django-orm-1f62b3d04785) by Kyle Hanson\n - [Supercharge Your Django App: 7 Sneaky Tricks to Crush Slow Database Queries](https://johnnymetz.com/posts/slow-django-database-queries/) by Johnny Metz\n - [The Django Speed Handbook: making a Django app faster](https://thebiglog.com/posts/django-faster-speed-tutorial) by Shibel K. Mansour\n - [μDjango (micro Django) 🧬](https://www.paulox.net/2023/10/26/udjango_micro_django/) by Paolo Melchiorre\n- [Using Materialized Views to Implement Efficient Reports in Django](https://www.fusionbox.com/blog/detail/using-materialized-views-to-implement-efficient-reports-in-django/643/) by Gavin Wahl\n - [Lessons from scale: Django](https://medium.com/sanket-saurav/lessons-from-scale-django-124f7b16ae0c) by Sanket Saurav\n - [Tips for Building High-Quality Django Apps at Scale](https://medium.com/@DoorDash/tips-for-building-high-quality-django-apps-at-scale-a5a25917b2b5) by DoorDash Engineering\n - [The Practical Guide to Scaling Django](https://slimsaas.com/blog/django-scaling-performance/) by Andrew\n\n### Profiling\n\n - [Django: How to profile and improve startup time](https://adamj.eu/tech/2023/03/02/django-profile-and-improve-import-time/) by Adam Johnson\n - [Django: profile memory usage with Memray](https://adamj.eu/tech/2026/01/29/django-profile-memray/) by Adam Johnson\n\n### Request / Response\n\n - [Django Streaming HTTP Responses](https://blog.pecar.me/django-streaming-responses) by Anže Pečar\n - [How Does Django's StreamingHttpResponse Work, Exactly?](https://andrewbrookins.com/django/how-does-djangos-streaminghttpresponse-work-exactly/) by Andrew Brookins\n\n### Security\n\n - [Django Security Best Practices: A Comprehensive Guide for Software Engineers](https://corgea.com/Learn/django-security-best-practices-a-comprehensive-guid-for-software-engineers) by Ahmad Sadeddin\n\n### Serverless\n\n - [Django Views as Serverless Functions on Fly Machines](https://fly.io/django-beats/django-views-as-serverless-functions-on-fly-machines/) by Kátia Nakamura\n\n### Settings\n\n - [Checking Django Settings](https://dev.to/adamghill/checking-django-settings-12g4) by Adam Hill\n - [Django Settings In the Cloud](https://engineering.instawork.com/django-settings-in-the-cloud-aa3fc547a2b4) by Oleg Pesok\n - [Making Sense Of Settings](https://www.mattlayman.com/understand-django/settings/) by Matt Layman\n\n### Signals\n\n - [Common Pitfalls Using Django Signals](https://engineering.instawork.com/common-pitfalls-using-django-signals-7b0654d843b) by Oleg Pesok\n\n### Single-File Django Projects\n\n - [Django from first principles](https://www.mostlypython.com/django-from-first-principles/) by Eric Matthes\n - [μDjango (micro Django) 🧬](https://www.paulox.net/2023/10/26/udjango_micro_django/) by Paolo Melchiorre\n\n### Testing\n\n - [Blazing fast tests in Django](https://dizballanze.com/django-blazing-fast-tests/) by Yuri Shikanov\n - [Django Password Hashing: Speed Up Your Tests by 70%](https://dschaefer.substack.com/p/django-password-hashing-speed-up) by Dave Schaefer\n - [Django Test Fixture: setUp, setUpClass and setUpTestData](https://medium.com/an-engineer-a-reader-a-guy/django-test-fixture-setup-setupclass-and-setuptestdata-72b6d944cdef) by Nhat Cuong / Nathan\n - [Django: Parametrized tests for all model admin classes](https://adamj.eu/tech/2023/03/17/django-parameterized-tests-model-admin-classes/) by Adam Johnson\n - [Django's test runner is underrated](https://www.loopwerk.io/articles/2026/django-tests-underrated/) by Kevin Renskers\n - [Optimizing your Django tests](https://olzhasar.com/posts/optimizing-your-django-tests/) by Olzhas Arystanov\n - [Simplified Django Tests With Pytest and Pytest FactoryBoy](https://schegel.net/posts/simplied-django-tests-with-pytest-and-pytest-factoryboy/) by Rocio Aramberri\n - [Test factory functions in Django](https://lukeplant.me.uk/blog/posts/test-factory-functions-in-django/) by Luke Plant\n - [Testing: exceptions and caches](https://nedbatchelder.com/blog/202601/testing_exceptions_and_caches) by Ned Batchelder  \u003c!-- codespell:ignore ned --\u003e\n - [Using tox to Test a Django App Across Multiple Django Versions](https://www.djangotricks.com/blog/2026/02/using-tox-to-test-a-django-app-across-multiple-django-versions/)\n - [Avoiding Mocks: Testing LLM Applications with LangChain in Django](https://lincolnloop.com/insights/avoiding-mocks-testing-llm-applications-with-langchain-in-django/) by Marc Gibbons\n\n### Time Zones\n\n - [Time Zones in Pytz \u0026 Django](http://tommikaikkonen.github.io/timezones/) by Tommi Kaikkonen\n\n### Type Hints\n\n - [Typing Your Django Project in 2026](https://blog.pecar.me/typing-your-django-project-in-2026/) by Anže Pečar\n\n### Views\n\n - [Django Views — The Right Way](https://spookylukey.github.io/django-views-the-right-way/) by Luke Plant\n - [The View Pattern](https://spookylukey.github.io/django-views-the-right-way/the-pattern.html) by Luke Plant\n - [Thin Views](https://spookylukey.github.io/django-views-the-right-way/thin-views.html) by Luke Plant\n - [An Introduction to Django Views](https://blog.jetbrains.com/pycharm/2025/01/django-views/) by Evgenia Verbina\n\n### Websockets\n\n - [A minimal Websockets setup with Django in production](https://www.untangled.dev/2020/08/02/django-websockets-minimal-setup/) by J.V. Zammit\n - [Finally, Real-Time Django Is Here: Get Started with Django Channels](https://blog.heroku.com/in_deep_with_django_channels_the_future_of_real_time_apps_in_django) by Jacob Kaplan-Moss\n\n ----\n\n### Sources\n\nThis awesome list is built thanks to:\n\n - [Django News Newsletter](https://django-news.com/?utm_source=awesome-django-articles)\n - [Django Forum](https://forum.djangoproject.com/new?utm_source=awesome-django-articles)\n - [Python Weekly Newsletter](https://www.pythonweekly.com/?utm_source=awesome-django-articles)\n - [My own feed aggregator](https://django-planet.matagus.dev/?utm_source=awesome-django-articles)\n - [My Github Feed!](https://github.com)\n - [Lobste.rs](https://lobste.rs/?utm_source=awesome-django-articles)\n - Friends / team mates at work.\n - [The internet (?)](https://duckduckgo.com/?va=g\u0026t=ha\u0026q=django\u0026ia=web)\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/matagus%2Fawesome-django-articles/projects"}