A modern, flexible rewrite of django-generic-notifications is here. Easily send website and email notifications, create digests, group similar messages, and much more.
A dive into why Django's DATETIME_FORMAT setting seems to do nothing, and how to actually force the 24-hour clock in the admin, even when your locale says otherwise.
Celebrating Django's 20th birthday by looking back at 16 years of personal Django usage, how it evolved, favorite packages, and what I'd love to see in the future.
Let’s solve the challenge of serving media files for your Coolified Django site.
How I moved my Django projects from a manual server setup to Coolify for easier, zero-downtime deployments.
I'm a big fan of the django-tailwind-cli package, but I ran into problems deploying it to production. Here’s how to make sure you cache-bust tailwind.css.
A robust, two-part solution for showing dates and times in your visitor’s local timezone, handling the tricky first-visit problem.
Ditch the complex SPA. Learn how to build modern, server-rendered Django apps using Alpine AJAX and the power of hypermedia.
Introducing ActionSerializerModelViewSet, a ViewSet that allows you to choose a serializer for each action and method combination.
Many people quickly reach for a big CMS package for Django, when often this is overkill. Here’s how to use a simple Django model with a CKEditor 5 WYSIWYG field, including embedded media like YouTube.
I love RSS feeds, but it’s not ideal that you’re stuck with all the articles that are in the feed. So I built RSSfilter.com, offering a way to filter the feed based on keywords and categories.
When you have admin users in multiple time zones, the way Django handles the input and display of dates and times is causing confusion. Here’s how you can improve things.
I use django-apscheduler to run a queue of scheduled tasks. Now I also need the ability to run one-off tasks and that turned out to not be so simple.
I started using Django in 2009, and fifteen years later I am still a happy user. When I compare this to the number of JavaScript frameworks I’ve gone through during the same fifteen years, it’s clear that Django is rather special.
I wanted to use a different MEDIA_URL for one of our FileField instances. It was very easy to do!
Let’s compare Django REST Framework with new kid on the block, Ninja.
The best feature of Heroku is the ability to just push a branch, and it gets deployed. How do we replicate a workflow like that on our own server?
There are many ways to configure Django, like multiple settings files or .env files. Here’s how I do it.
Paypal’s documentation only shows a JavaScript example. How do you validate the webhooks in Python though?
Django 5.1 adds related field lookup to the model admin’s list_display, but with an annoying quirk. Let’s fix that!
Extending Django’s autocomplete widget with a new action which copies the linked user’s email address to the clipboard.
How do you delete baskets belonging to anonymous users when their sessions expires? It wasn't quite as simple as I thought.
Let's add custom actions to Django's admin site - but to the change form, not the list view.
I recently had to set up a brand new server for a website running on SvelteKit and its API running on Django. I am a software developer and setting up servers and hosting isn't something I normally do, so I followed a bunch of different tutorials. In this article I want to combine all these tutorials, mostly for future me, but hopefully you'll find it useful as well.
Over two years ago I wrote an article where I compared Vapor 3 to Django REST Framework. It's time for a rematch with Vapor 4.
A little while ago I wrote about starting a new side project, where I was using Vapor 3 to build the backend. My initial impressions were extremely positive, but I ended up running into a few issues that made working with the framework a little bit...
Yesterday I wrote an article comparing Django-CMS, FeinCMS and Mezzanine. One of the conclusions was that while Django-CMS is the best CMS on paper, I don’t like its backend interface that much. I thought it would be a good idea to properly explain...
When you need a content management system for Django, there is enough choice. Maybe even too much: the very helpful site djangopackages.com lists 13. Some are mature and very feature-complete, while others are barely more than a basic model and a...
In my previous post Things I “hate” about Python and Django, I said that one of the things I “hate” about Django is its template language. While very easy to use and pretty extensible, it’s missing some important (and basic, to be honest) features...
I have been a PHP programmer for the last 9 years, and only in September of 2009 I switched to Python and the Django framework. While I really love the Python language and the Django framework (especially compared to something like the Zend PHP...
In a project I am working on, I need to show a lot of graphs and charts. Together with the client we chose to use the Visualization API by Google, which provides a Python library, offers many different kinds of charts and very important: the data is...
For a project I needed to create a Django model from a list of fields that were defined somewhere else. It took me hours to get this to work, so to save you the time, here is the solution: fields = ['field_a', 'field_b', 'field_c'] # the base model...