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