Django community: RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Django cookie consent application
django-cookie-consent is a reusable application for managing various cookies and visitors consent for their use in Django project. -
Building docker images with private python packages
Installing private python packages into Docker container can be tricky because container does not have access to private repositories and you do not want to leave trace of private ssh key in docker… -
Django News - DjangoCon Europe 2025 in Dublin, Ireland! 🍀 - Nov 15th 2024
News Announcing DjangoCon Europe 2025 in Dublin, Ireland! 🍀 DjangoCon Europe will be held in Dublin, Ireland, from April 23rd to 27th, 2025. djangoproject.com Django’s technical governance challenges, and opportunities Two of the four existing members of the Django Software Foundation Steering Council just stepped down to trigger a new election earlier than otherwise scheduled. djangoproject.com Welcoming Vinit Kumar as the Newest django CMS Fellow Django CMS just announced its second Fellow, Vinit Kumar, who joins the existing fellow since 2022, Fabian Braun. django-cms.org Updates to Django Today 'Updates to Django' is presented by Velda Kiara from Djangonaut Space! Last week we had 17 pull requests merged into Django by 11 different contributors - including 1 first-time contributor! Congratulations to David Winiecki for having their first commits merged into Django - welcome on board! Coming in Django 5.2, django.contrib.admindocs will now support custom link text in docstrings, making the documentation more user-friendly. Topics in Django forum that would appreciate your contribution are: Retiring django-users and django-developers mailing lists Migrating off of Trac Django Newsletter Wagtail CMS Wagtail: Should we remove our upper version boundary on Django? The Wagtail team is debating whether to remove or further relax the upper version … -
Heroku To DigitalOcean - Building SaaS #206
In this episode, I began a migration of my JourneyInbox app from Heroku to DigitalOcean. The first step to this move, since I’m going to use Kamal, is to put the app into a Docker image. We got the whole app into the Docker image, then cleaned up local development and the CI system after making changes that broke those configurations. -
Django for the Meat Industry - Bryton Wishart
Cured ComplicanceArticlesCured Compliance on nbn Australiadjango-two-factor-authSponsorsThe Stack Report - Carlton's Monthly Premium NewsletterLearnDjango.com - Free Tutorials and Premium Courses -
Free digital security checkups for people/organizations concerned about the incoming US government
If you — as an individual or a group — are re-assessing your digital security posture in light of the US election results, I’m available to help. I’m offering free digital security check-ups to anyone who feels like they need it now. -
Django News - Django bugfix release issued: 5.1.3 - Nov 8th 2024
News Django bugfix release issued: 5.1.3 The Django 5.1.3 update fixes three bugs in 5.1.2 and adds compatibility with Python 3.13. djangoproject.com Notice of breaking changes for GitHub Actions PSA: On December 5, 2024, the ubuntu-latest label will change from ubuntu 22 to ubuntu 24, which is expected to break things. You will want to test or change your labels proactively to avoid breaking things. github.blog PyCon US 2025 Kicks Off: Website, CfP, and Sponsorship Now Open! The PyCon US 2025 conference website, Call for Proposals, and sponsorship program are open! blogspot.com Updates to Django Today's 'Updates to Django' is presented by Abigail Afi Gbadago from Djangonaut Space! Last week we had 19 pull requests merged into Django by 14 different contributors - including 6 first-time contributors!🎉 Congratulations to Anthony Joseph🚀, Johanan Oppong Amoateng🚀, Peter Ruszel, Maria Hynes🚀, Soyoung Kang🚀 and maddrum for having their first commits merged into Django - welcome on board! Coming in Django 5.2 Support has been added for MEMORY/SERIALIZE option to QuerySet.explain() on PostgreSQL 17+ Missing alters_data=True has been added to QuerySet and UserManager methods Django Newsletter Wagtail CMS Level up your image accessibility and dashboards with Wagtail 6.3 Wagtail 6.3 introduces a new ImageBlock … -
Deploy Your Own Web App With Kamal 2
Kamal offers zero-downtime deploys, rolling restarts, asset bridging, remote builds, accessory service management, and everything else you need to deploy and manage your web app in production with Docker. Originally built for Rails apps, Kamal will work with any type of web app that can be containerized. We dig into Kamal, how it works, and how you could use it on your next project. -
Avoid Counting in Django Pagination
This article looks at how to avoid the count query in Django's paginator. -
Three Django wishes
<p>’Tis the season when people are posting their “Django wishlists”, for specific technical or organizational or community initiatives they’d like to see undertaken. Here are a few&nbsp;examples:</p> <ul> <li><a href="https://gist.github.com/sarahboyce/68ffaaeae24d2501cf27a914f77fb97c">Sarah&nbsp;Boyce</a></li> <li><a href="https://www.better-simple.com">Tim&nbsp;Schilling</a></li> <li><a href="https://softwarecrafts.co.uk/100-words/day-203">Andy&nbsp;Miller</a></li> <li><a href="https://emma.has-a.blog/articles/django-wishlist-explained.html">Emma&nbsp;Delescolle</a></li> </ul> <p>So, in the spirit of the season, here is my own list, which I’ve narrowed down to three wishes (in the tradition of many stories about wishes), consisting of one organizational item and two technical&nbsp;ones.</p> <h3>Pass the&nbsp;torch</h3> <p>This one requires a bit of background, so please bear with&nbsp;me.</p> <p><a href="https://www.djangoproject.com/foundation/">The Django Software Foundation</a> — usually just abbreviated “<span class="caps">DSF</span>” — is the nonprofit organization which officially “owns” Django. It’s the legal holder of all the intellectual property, including both the copyright to the original Django codebase (generously donated by the Lawrence Journal-World, where it was first developed) and the trademarks, such as the registered trademark on the name “Django” itself. The <span class="caps">DSF</span> does a lot (and could do more, with a bigger budget) to support the Django community, and offers financial support to the development of Django itself, but does <em>not</em> directly develop Django, or oversee Django’s development or technical&nbsp;direction.</p> <p>Originally, that job went to Django co-creators Adrian Holovaty and Jacob Kaplan-Moss. … -
Django News - Django Girls Turns 10 - Nov 1st 2024
News 2025 DSF Board Candidates There are 21 individuals who have chosen to stand for election, and here is a complete list including their candidate statements. Voting closes on November 15, 2024, at 23:59 Anywhere on Earth. djangoproject.com Django Girls Blog — It's our 10th birthday! Django Girls has turned 10! We’re so proud to reach this momentous milestone and of everything the community has achieved! During the past decade, 2467 volunteers in 109 countries have run 1137 free workshops. More than 24,500 women in 593 cities have attended our events, and for many of them, Django Girls was their first step towards a career in tech. The results speak for themselves. djangogirls.org Octoverse: AI leads Python to top language as the number of global developers surges In this year’s Octoverse report, Python overtook JavaScript as the most popular language on GitHub. github.blog PSF Fellow Nominations Q4 Due Date PSF Fellow nominations for Q4 2024 are open until November 20th—nominate someone whose contributions to the Python community deserve recognition. jonafato.com Updates to Django Today's 'Updates to Django' is presented by Abigail Afi Gbadago from Djangonaut Space! Last week we had 21 pull requests merged into Django by 15 different contributors … -
Python Core Developer - Mariatta Wijaya
Mariatta’s personal site Mariatta on GitHub, Fosstodon, Instagram, and LinkedIn GitHub stories Hidden Figures of Python podcast CMDLines Python discussion forumSponsorThe Stack Report - Carlton's Monthly Premium Newsletter -
Empty Image Fields in Django
tl;dr Django FileFields and ImageFields are stored as strings in your database. Don't use null=True with them, instead use blank=True and filter by .filter(image__exact=""). Discovering a Bug I ran into a bug where I was trying to filter a QuerySet by image__isnull=False to determine if the image field was set. It ended up returning all objects where image was not yet set, so I did some digging. How FileField and ImageField Look in the Database The FileField and ImageField are both implemented in your database table as a varchar field. Note the type column from the psql display table below: Table "public.myapp_mymodel" Column | Type | Collation | Nullable | Default --------------+------------------------+-----------+----------+---------------------------------- id | bigint | | not null | generated by default as identity image | character varying(100) | | not null | This stores the relative path of the file, including your upload_to and filename. The problem is that these strings have two values that might mean "empty": None and "". How to Define a Model with Not Required File Fields I had defined my model like this: class MyModel(models.Model): image = models.ImageField( upload_to="images/", null=True, blank=True, ) But I should have removed the null=True option: class MyModel(models.Model): image … -
2025 Django Software Foundation board nomination
My self-nomination statement for the 2025 Django Software Foundation (DSF) board of directors elections -
Opening Django Model Files in PyMuPDF
I have been working on a file upload feature for a Django project. We use django-storages to store files in AWS S3, but we store them on the filesystem for local development. PyMuPDF is a Python library for reading and writing PDF files. It's very fast and I've been delighted to use it. I ran into a small issue getting my Django file uploads to work with PyMuPDF. This post will outline my notes on how I worked through it. Opening a file from the local filesystem Let's say we have a model SlideDeck with a FileField that stores a PDF file: class SlideDeck(models.Model): pdf = models.FileField( upload_to="slide_decks", max_length="500", ) And a model SlideImage that stores an image for each slide in the PDF: class SlideImage(models.Model): slide_deck = models.ForeignKey( SlideDeck, on_delete=models.CASCADE, ) img = models.ImageField( upload_to="slide_decks/images", max_length="500", ) And we have a helper function to create a list of SlideImage objects from a SlideDeck object: def _create_empty_slides(slide_deck: SlideDeck) -> list[SlideImage]: pdf_document = pymupdf.open(slide_deck.file.path) slide_img_objs = SlideImage.objects.bulk_create( [ SlideImage(slide_deck=slide_deck) for i in range(len(pdf_document)) ] ) pdf_document.close() return slide_img_objs The above works with the Django default FileSystemStorage backend. But if you're using a remote storage backend like the AWS S3 backend from … -
Django News - Last chance to run for the DSF Board - Oct 25th 2024
Django Software Foundation Why you should run for the DSF Board, and my goals for the DSF in 2025 - Jacob Kaplan-Moss Applications are open for the 2025 Django Software Foundation Board of Directors – you can apply until October 25th. So, in this post I’ll do two things: try to convince you to run for the board, and document my goals and priorities for 2025. jacobian.org Steering Council Wishlist for 6.X Thoughts on what the upcoming Steering Council could/should work on. softwarecrafts.co.uk Updates to Django Today 'Updates to Django' is presented by Abigail Afi Gbadago from Djangonaut Space! Last week we had 14 pull requests merged into Django by 12 different contributors - including 3 first-time contributors 👏 Congratulations to YashRaj1506 🚀, Ahmed Ibrahim and Justin Thurman for having their first commits merged into Django - welcome on board! 🚀 Coming in Django 5.2 The new HttpResponse.text property has been added to provide text content for HTTP Responses (no more response.content.decode()!) Overriding password validation error messages is now allowed as opposed to overriding the actual validation method A new autodetector_class attribute has been added to the migration commands Django Newsletter Wagtail CMS Wagtail 6.3a0 (LTS) release notes For the … -
Built with Django Newsletter - 2024 Week 43
Hey, Happy Tuesday! Why are you getting this: *You signed up to receive this newsletter on Built with Django. I promised to send you the latest projects and jobs on the site as well as any other interesting Django content I encountered during the month. If you don't want to receive this newsletter, feel free to unsubscribe anytime. News and Updates Got some inspiration and some time on my hands and built couple of new projects. One of them is the sponsor of today's newsletter (OSIG) and another I will share as soon as I feel like it is launch ready, which should be by the next newsletter issue. As I am developing new products, I am making constant updates to my django-saas-starter template. It is in a good shape right now, but still has some work to do. If you are brave enough to give it a try, I would love to hear your feedback. It is open to the public right now, and I might put it behind the paywall at some point (not soon), ala SaaS Pegasus. I'm trying a new thing. Along side developing new and existing projects, I would like to try purchasing existing profitable … -
Weeknotes (2024 week 43)
Weeknotes (2024 week 43) I had some much needed time off, so this post isn’t that long even though four weeks have passed since the last entry. From webpack to rspack I’ve been really happy with rspack lately. Converting webpack projects to rspack is straightforward since it mostly supports the same configuration, but it’s much much faster since it’s written in Rust. Rewriting things in Rust is a recurring theme, but in this case it really helps a lot. Building the frontend of a larger project of ours consisting of several admin tools and complete frontend implementations for different teaching materials only takes 10 seconds now instead of several minutes. That’s a big and relevant difference. Newcomers should probably still either use rsbuild, Vite or maybe no bundler at all. Vanilla JS and browser support for ES modules is great. That being said, I like cache busting, optimized bundling and far-future expiry headers in production and hot module reloading in development a lot, so learning to work with a frontend bundler is definitely still worth it. Dark mode and light mode I have been switching themes in my preferred a few times per year in the past. The following ugly … -
A Django Blog in 60 Seconds
You can create a full-featured Django blog application in less than sixty seconds. Let's see how, with the help of [neapolitan](https://github.com/carltongibson/neapolitan), a new third-party package from former Django Fellow Carlton … -
Django TemplateYaks
Thursday morning, I fell into a rabbit hole... Inside the hole, there was a yak! I started shaving the yak and only then did I see it was a Django TemplateYak! A tale of a proof of concept for Class-Based Django TemplateTags -
Django News - DSF Weekly Office Hours - Oct 18th 2024
News ➡️ Expression of interest: Django 6.x Steering Council elections The DSF is seeking candidates for the upcoming Django Steering Council 6.x elections—interested individuals can fill out this form to express interest or get feedback on their eligibility. google.com Why Django supports the Open Source Pledge Sentry is one of several partners who have launched the Open Source Pledge, a commitment for member companies to pay OSS maintainers meaningfully for their work. djangoproject.com Python Insider: Python 3.14.0 alpha 1 is now available It's now time for a new alpha of a new version of Python. blogspot.com Django Software Foundation Announcing weekly DSF office hours The Django Software Foundation is opening up weekly office hours, Wednesdays at 6PM UTC, to work on and discuss various DSF initiatives. djangoproject.com 2025 DSF Board Nominations Nominations for the Django Software Foundation are OPEN until October 25th. There have been a host of articles about what the next Board might accomplish to help progress Django. Consider applying! djangoproject.com DSF initiatives I'd like to see Former Django Fellow Carlton Gibson weighs in with his top three initiatives the new Django Software Foundation Board could work on. noumenal.es Updates to Django Today 'Updates to Django' is presented … -
Why you should run for the DSF Board, and my goals for the DSF in 2025
Applications are open for the 2025 Django Software Foundation Board of Directors – you can apply until October 25th. So, in this post I’ll do two things: try to convince you to run for the board, and document my goals and priorities for 2025. -
Epic Debugging, Hilarious Outcome - Building SaaS #205
In this episode, I dug into an issue with sign up. What I thought was going to be a minor issue to fix turned into a massively intense debugging session. We ended up going very deep with the django-allauth package to understand what was going on. -
Epic Debugging, Hilarious Outcome - Building SaaS #205
In this episode, I dug into an issue with sign up. What I thought was going to be a minor issue to fix turned into a massively intense debugging session. We ended up going very deep with the django-allauth package to understand what was going on. -
Managing Django Projects on Your Server with Style
This article is outdated, you’ll find an updated article here. A friend is in the process of setting up a new slice at everbody’s favorite VPS provider Slicehost and asked for some advice. I use MySQL, Nginx & Apache/mod_wsgi on Ubuntu to serve Django. I think Slicehost’s Articles are awesome and a great place to get help you get everything installed and running, so for this article, I’ll focus on some personal preferences regarding directory structure and repo management. One of the biggest difficulties I’ve had to tackle lately is the rapid progress of Django. I have a number of client sites hosted on my slice and have had to freeze them at certain times when backwards incompatible changes come along. My original approach made this really messy, because I only accounted for having one copy of any given third party repo, symlinked from /usr/local/src to my Python site-packages directory. My new approach takes advantage of being able to set your PYTHONPATH at runtime. My directory structure looks like this: |-django |--projects |---domain1.com |---domain2.com |---domain3.com Each site has the following structure: |-domain1.com |--apache |---django.wsgi |--django |--domain1_project |---__init__.py |---app1 |---app2 |---manage.py |---settings.py |---static |---templates |---urls.py |--third_party_repo1 |--third_party_repo2 Just drop domain1.com in …