The biggest Python topics of 2023 ›
Django
Django Framework Updates and Security Releases
Why Is the Django Admin “Ugly”? Article
When Vince was talking with people at Djangocon US, one question kept coming up: “why is the Django admin so ‘ugly’?”
https://www.coderedcorp.com/blog/why-is-the-django-admin-ugly/
Django Unicorn: Full-Stack Components Framework Article
https://www.django-unicorn.com/
ΜDjango: Micro Django a Single File Project Article
https://www.paulox.net/2023/10/26/udjango_micro_django/
Django 5.0 Released Article
https://www.djangoproject.com/weblog/2023/dec/04/django-50-released/
Django Bugfix Release: 4.2.8 Article
https://www.djangoproject.com/weblog/2023/dec/04/bugfix-release/
Django Security Releases Issued: 4.2.7, 4.1.13, and 3.2.23 Article
https://www.djangoproject.com/weblog/2023/nov/01/security-releases/
Build a Blog From Scratch With Django Article
In this Django beginner project, you’ll build a blog from scratch with the Django web framework. You’ll leverage the Django admin site and explore how to work with forms so your visitors can comment on your posts.
https://realpython.com/build-a-blog-from-scratch-django/
Get Personalized Insight from Python Experts Article
We are performance tuners, Django and Python experts, infrastructure and scaling architects. We’ve worked with over a hundred companies and teams of all types. We know what works best and which roads lead to failure. Let our experience guide you, your code, and your processes to smoother waters →
https://www.revsys.com/hello/
Database Generated Columns With Django & SQLite Article
An introduction to database generated columns, using SQLite and the new GeneratedField added in Django 5.0.
https://www.paulox.net/2023/11/07/database-generated-columns-part-1-django-and-sqlite/
Django 4.2 Beta 1 Released Article
https://www.djangoproject.com/weblog/2023/feb/20/django-42-beta-1-released/
Django 5.0 Release Candidate 1 Released Article
https://www.djangoproject.com/weblog/2023/nov/20/django-50-rc1/
Django 5.0 Beta 1 Released Article
https://www.djangoproject.com/weblog/2023/oct/23/django-50-beta-1-released/
Django Ninja 1.0 Released Article
https://django-ninja.dev/whatsnew_v1/
Django 4.2.2 Bugfix Release Article
https://docs.djangoproject.com/en/4.2/releases/4.2.2/
How to Render Markdown in a Django Application Article
In this tutorial, you’ll learn how to create and render web content in Django with the simplicity and flexibility of the Markdown text formatting language.
https://realpython.com/django-markdown/
Deploying a Django + Nginx Application to a VPS With Ansible Article
This article walks you through the process of deploying a Django-on-Nginx application to Amazon Lightsail. It uses Docker to build and containerise the app and Ansible to automate the deployment.
https://vuyisile.com/deploying-a-django-nginx-application-to-a-vps-with-ansible/
Django: Sanitize Incoming HTML Fragments With nh3 Article
Allowing users to input HTML in comments or blog posts is problematic, it can lead to exploits on your site. For years the Django community used django-bleach, but since its deprecation, Adam has been using nh3, a Rust-based HTML sanitizer.
https://adamj.eu/tech/2023/12/13/django-sanitize-incoming-html-nh3/
Django Security Releases Issued: 4.2.6, 4.1.12, and 3.2.22 Article
https://www.djangoproject.com/weblog/2023/oct/04/security-releases/
Create a Subscription SaaS Application With Django and Stripe Article
All the technical details of creating a subscription SaaS business using the Python-based Django web framework and Stripe payment processor.
https://www.saaspegasus.com/guides/django-stripe-integrate/
Django Views: The Right Way Article
An opinionated guide on how to write views in Django by one of the core Django devs. Spoiler alert: he isn’t very fond of class-based-views.
https://spookylukey.github.io/django-views-the-right-way/index.html
Customize the Django Admin to Differentiate Environments Article
A quick post about changing the color scheme of the Django Admin depending on what environment the code is deployed within. Although Django specific, this is a great idea – visually reminding your admins and developers whether they’re in dev, staging, or production.
https://406.ch/writing/customize-the-django-admin-to-differentiate-environments/
Django Things You Want With HTMX Article
HTMX is allowing more dynamic pages to be built with less JavaScript than before. This blog post talks about three techniques you can use to improve your HTMX pages when working with Django: HTTP 303 redirections, the django-htmx library, and using the hx-trigger header.
https://www.bitecode.dev/p/django-things-you-want-with-htmx
TIL: Django Constraints Article
Constraints in Django allow you to further restrict how data is managed in the database. This quick post covers how to use the CheckConstraint and UniqueConstraint classes in Django.
https://sarahabd.com/til/django-constraints
Building a RisingWave Connector for Django ORM Article
This articles shows the internals of the Django ORM. We build a prototype for a connector to the RisingWave event streaming database and enable dashboarding capabilities in Django
https://bas.codes/posts/django-risingwave/
Django: How to Profile and Improve Startup Time Article
“Your Django project’s startup time impacts how smooth it is to work with. Django has to restart your project every time you run a management command and when runserver reloads.” Learn how to make this faster.
https://adamj.eu/tech/2023/03/02/django-profile-and-improve-import-time/
Best Practices for Performance in Django? Article
https://forum.djangoproject.com/t/best-practices-for-dealing-with-slow-performance/23707
Adding Full Text Search to Django With django-watson Article
Learn how to supercharge your Django app with full-text search using Django-Watson. Dive deep into Postgres magic and boost search functionality.
https://idiomaticprogrammers.com/post/django-watson-full-text-search-guide/
Django 5.0 Alpha 1 Released Article
https://www.djangoproject.com/weblog/2023/sep/18/django-50-alpha-1-released/
Debugging CSRF Failed Errors in Django Article
The most likely cause of a 403 Forbidden error in Django is falling foul of the CSRF protection. This article explains how to debug this problem and what you need to do to fix it.
https://www.better-simple.com/django/2023/11/04/debugging-csrf-error-in-production/
Django REST Framework and Elasticsearch Article
This step-by-step guide shows you how to build a REST API using the Django REST Framework and Elasticsearch.
https://testdriven.io/blog/django-drf-elasticsearch/
Django Hotwire Tutorial Article
Hotwire is an alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire.
https://tutorial.saashammer.com/
Building a Blog in Django Article
Very little code is needed to get a blog working using the Django framework. This post highlights what you need, including each of the key code components. Associated HN discussion.
https://til.simonwillison.net/django/building-a-blog-in-django
Django Security Releases Issued: 4.2.5, 4.1.11, and 3.2.21 Article
https://www.djangoproject.com/weblog/2023/sep/04/security-releases/
Chat Using Django 4.2’s async Features Article
Django continues to add features to allow more and more asynchronous programming. This articles shows you how to use Django 4.2’s StreamingHttpResponse, Server-Sent Events, and PostgreSQL LISTEN/NOTIFY to build a chat application.
https://valberg.dk/django-sse-postgresql-listen-notify.html
Django Security Releases Issued: 4.2.3, 4.1.10, and 3.2.20 Article
https://www.djangoproject.com/weblog/2023/jul/03/security-releases/
Django Security Releases Issued: 4.1.6, 4.0.9, and 3.2.17 Article
https://www.djangoproject.com/weblog/2023/feb/01/security-releases/
Using GeoDjango and PostGIS in Django Article
This article shows how to use GeoDjango and PostGIS to work with geospatial data in Postgres.
https://pganalyze.com/blog/geodjango-postgis
PSF Hiring a Part Time Django Developer Article
https://pythonsoftwarefoundation.applytojob.com/apply/MzSjKTvQrz/Django-Developer-Contract-Part-Time
Django Security Releases Issued: 4.2.1, 4.1.9, and 3.2.19 Article
https://www.djangoproject.com/weblog/2023/may/03/security-releases/
Django Security Releases Issued: 4.1.7, 4.0.10, and 3.2.18 Article
https://www.djangoproject.com/weblog/2023/feb/14/security-releases/
The Essential Django Deployment Guide Article
Going from “it works on my machine” to deploying to the public can be a daunting task. This guide details the choices between VPS and PaaS systems, how to choose, what the options are, and what you need to know to get your Django code live.
https://www.saaspegasus.com/guides/django-deployment/
7 Sneaky Tricks to Crush Slow Database Queries Article
“Optimizing Django query performance is critical for building performant web applications.” This blog post explores a collection of additional and essential tips that help pinpoint and resolve your inefficient Django queries.
https://johnnymetz.com/posts/slow-django-database-queries/
Building Search DSLs With Django Article
A Domain Specific Language is a small language for a particular application domain. GitHub has a simple example within their issue tracker allowing constraints like “is:open” to specify searching only for open tickets. This article shows you how to build your own search DSL in Django using PyParsing.
https://danlamanna.com/posts/building-search-dsls-with-django/
Bleach 6.0.0 Release and Deprecation Article
Bleach is an HTML sanitizing library. 6.0 has been released, along with the announcement that the package is being deprecated. The library is dependent on html5lib which is no longer maintained, the maintainers of Bleach are giving notice that their package will stop being updated after a year.
https://bluesock.org/~willkg/blog/dev/bleach_6_0_0_deprecation.html
Top 10 Django Third-Party Packages Article
Will covers a list of his favorite third-party packages for Django. Includes old favorites like Django REST Framework, and lesser known packages like django-filter and django-environ.
https://learndjango.com/tutorials/essential-django-3rd-party-packages
Bullet Proofing Django Models Article
Tips and techniques for writing better ORM models in Django. Topics include atomicity, validation, logging and more.
https://hakibenita.com/bullet-proofing-django-models
Simulating a Broken DB Connection for Testing in Django Article
This article covers three different options for effectively testing Django database access and failure recovery when the database connection is not there.
https://neilkakkar.com/test-database-connection-django.html
Standout Features in Django 4.2 Article
Django 4.2 is slated for April and is currently in alpha release. This article covers some standout features that are coming, including psycopg v3 support, database comments, and lookups on field instances.
https://fly.io/django-beats/standout-features-in-django-4-2/
Working With AJAX in Django Article
This article looks at how to perform GET, POST, PUT, and DELETE AJAX requests in Django with the Fetch API and jQuery.
https://testdriven.io/blog/django-ajax-xhr/
Django: Find Test Flakiness by Randomly Ordering QuerySets Article
Sometimes code depends on the order of a QuerySet while not specifying an order. This can lead to random, flaky test failures because databases can return rows in any order when none is specified. Learn how to randomly order your QuerySet when under test to detect this weird problem.
https://adamj.eu/tech/2023/07/04/django-test-random-order-querysets/
2023 Django Developers Survey Article
https://www.djangoproject.com/weblog/2023/sep/05/2023-django-developers-survey/
Supporting Multiple Languages in Django Article
This step-by-step article shows you how to add multiple language support to your Django projects. It covers the difference between localization and internationalization, and how to use both in the template engine.
https://testdriven.io/blog/multiple-languages-in-django/
Django ORM Cheatsheet Article
https://djangocentral.com/django-orm-cheatsheet/
Filters in Django: filter(A, B) vsfilter(A).filter(B) Article
An advanced dive into the Django ORM, how it handles joins, and what that means for your code.
https://apirobot.me/posts/filters-in-django-filtera-b-vs-filtera-filterb
Django Developers Survey 2022 Results Available Article
https://www.djangoproject.com/weblog/2023/mar/09/django-developers-survey-2022-results/
Django 4.2.4 Released Article
https://docs.djangoproject.com/en/4.2/releases/4.2.4/
Deploying a Django App to Azure App Service Article
This tutorial looks at how to deploy a Django application to Azure App Service. Includes details on configuring your Django and what Azure services to use to get going quickly.
https://testdriven.io/blog/django-azure-app-service/
Django Performance Optimization Tips Article
This article looks at where potential performance issues can occur in a Django application and how to address them in order to speed up your app.
https://testdriven.io/blog/django-performance-optimization-tips/
Authentication With Django and Single Page Apps Article
Single Page Applications (SPA) often use passed tokens for authenticated pages. This article shows you how to use Django’s session based auth mechanism in conjunction with an SPA.
https://www.mikesukmanowsky.com/blog/authentication-with-django-and-spas
Django Bugfix Release: 4.1.5 Article
https://www.djangoproject.com/weblog/2023/jan/02/bugfix-release/
Django Email/Contact Form Tutorial Article
Coding for email isn’t too bad, but sending it can be a challenge. This tutorial walk you through how to use the popular SendGrid service as your SMTP server.
https://learndjango.com/tutorials/django-email-contact-form-tutorial
Have Python Show Warnings When Running Django Article
How to show warnings when running Python, and Django, during local development. The easy, yet not well known, way.
https://www.untangled.dev/2023/04/26/py-django-warnings/
Support Bootstrap-Alerts in Python-Markdown Article
If you’re using Markdown on your blog, or any website, a conversion pipeline allows you to create your own rules and widgets. This article shows you how to integrate Bootstrap Alert boxes into a Markdown workflow.
https://florian-dahlitz.de/articles/support-bootstrap-alerts-in-python-markdown
Caching and Django Rest Framework Article
How and why to implement and API caching strategy when using the Django Rest Framework. A few lines of code can make a big difference in performance.
https://www.screamingatmyscreen.com/caching-and-django-rest-framework/
Improve Your Code With Pre-Commit Article
This article covers a variety of tools you can attach to your repo’s pre-commit hook to validate your code. Although the article is from a Django perspective, all but one of the tools covered is Django-agnostic.
https://builtwithdjango.com/blog/improve-your-code-with-pre-commit
Django REST Framework Authentication Article
Details how to add authentication endpoints to Django REST Framework with django-allauth and dj-rest-auth.
https://testdriven.io/blog/django-rest-auth/
Sync or Async? Unpacking the Mysteries of Django Signals Article
Django signals provide a powerful way to trigger actions when specific events occur, but are they asynchronous or synchronous? In this article, we’ll explore the answer to this question and discuss the pros and cons of using Django signals in your web applications.
https://www.mattlayman.com/blog/2023/django-signals-async/
Using pyproject.toml in Your Django Project Article
A quick tutorial on how to use a pyproject.toml file inside of your Django projects to specify dependencies.
https://lincolnloop.com/insights/using-pyprojecttoml-in-your-django-project/
How to Write Tests That Need a Lot of Data? Article
Imagine you work on a Django project. You want to test your application with unit tests and integrations tests. Your application has lots of database tables, which need to be filled with realistic data for each test case. This article explains 3 techniques that will help you to fill the database with a lot of data for each test case.
https://gogognome.nl/how-to-write-tests-that-need-a-lot-of-data.html
What Django Deployment Is Really About Article
Beginners often stumble when it’s finally time to get their Django app online. Instead of another deployment recipe, this post seeks to explain the fundamental concepts of deploying a Django app and equip developers to think through the process for themselves when they’re ready to make the transition from their code editor to the web.
https://james.walters.click/what-django-deployment-is-really-about.html
django-cities: Cities & Countries Listings for Django Projects Project
Countries and cities of the world for Django projects
https://github.com/coderholic/django-cities
waffle: Feature Flags for Django Project
A feature flipper for Django
https://github.com/django-waffle/django-waffle
iommi: Your First Pick for a Django Power Chord Project
Your first pick for a django power cord
https://github.com/iommirocks/iommi
django-pgcrypto-fields: Django Encryption With Pgcrypto Project
Transparent field level encryption for Django using the pgcrypto postgresql extension.
https://github.com/incuna/django-pgcrypto-fields
django-docker-quickstart: Django-Docker Starter Kit Project Started in 2023
Your all-in-one Django-Docker starter kit. Pre-configured services including PostgreSQL, Redis, Celery, with Nginx and Traefik for production. Streamlined development with included tools for testing and formatting.
https://github.com/godd0t/django-docker-quickstart
High Performance in-Memory Cache Project Started in 2023
high performance in-memory cache
https://github.com/Yiling-J/theine
django-prose: Wonderful Rich-Text Editing for Django Project
Wonderful rich-text editing for your Django project
https://github.com/withlogicco/django-prose
django-admin-confirm: Mixin for Confirming Changes Project
AdminConfirmMixin is a mixin for ModelAdmin that adds confirmations to changes, additions and actions.
https://github.com/TrangPham/django-admin-confirm
django-web-components: Reusable Template Components Project Started in 2023
A simple way to create reusable template components in Django.
https://github.com/Xzya/django-web-components
queryish: Data Queries Following Django’s QuerySet API Project Started in 2023
A library for constructing queries on arbitrary data sources following Django's QuerySet API
https://github.com/wagtail/queryish
django_simple_notification: REST Notification System Project Started in 2023
simple django rest application notification system
https://github.com/MahmoudNasser01/django_simple_notification
Generate Tests for Django REST Framework Project Started in 2023
A Django Package that generates basic unittest and pytest style tests for Django REST Framework ViewSets
https://github.com/saadmk11/drf-test-generator