Django community: Community blog posts RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Django: Join the community on Mastodon
Mastodon is a Twitter-like social network with a solid Django community presence. It’s a fantastic online arena for connecting with others, discovering news, discussing issues, and sharing FOMO-inducing conference photos. Historically, Twitter was the primary social network for the Django community, as for much of tech. But since Elon Musk took Twitter over in 2022, it has steadily degraded, technically and ethically. This enshittification has led most active Django Twitter people to migrate to Mastodon, a decentralized, open alternative. Some have done a hard cut, others have maintained accounts on both. I’ve used Mastodon since November 2022 and have enjoyed using it since. I still log in to Twitter to interact with people who are exclusively there, but I hope they will migrate to Mastodon soon. This post covers the best resources I know of to join the Django community on Mastodon. I hope this convinces you to try Mastodon, whether or not you used Twitter. Selflessly, I believe connecting with others and sharing ideas makes you a better developer. Selfishly, I want more interesting Django posts in my feed! Sign up on a server Mastodon is federated across many independent servers. You pick one to host your account but … -
Django News - Django security releases issued: 5.0.2, 4.2.10, and 3.2.24 - Feb 9th 2024
News Django security releases issued: 5.0.2, 4.2.10, and 3.2.24 This security release addresses a potential denial-of-service in intcomma template filter. As always, one of the best security measures is to always update your Django project's to the latest release. djangoproject.com Neapolitan 24.2 release Quicker template overrides and minimal tests in the latest update. noumenal.es Updates to Django Today 'Updates to Django' is brought to you by Velda Kiara from Djangonaut Space! Last week we had 22 pull requests merged into Django by 16 different contributors - including 5 first time contributors! Congratulations to Petar Netev, Candide U, Priya, Anže Pečar, and James Thorniley for having their first commits merged into Django - welcome on board! Last week we saw some compelling updates to Django 5.0: Backward incompatibility note note about filtering against overflowing integers was added. FilteredRelation now raises a ValueError when a queryset is provided as the right-hand side, this change aims to enhance structure and predictability. Updates on GeoDjango include additional support for measured geometrics to GDAL Polygons and GDAL LineString. Djangosites was shut down on the 23rd of January. Inspite of the shut down there is a new site built with django serving the same purpose. Django … -
Stripe Checkout - Building SaaS with Python and Django #182
In this episode, we did work to get the Stripe checkout session going. We set up Stripe Product and Price objects to get the subscription plan ready and got the Stripe checkout session working mostly end-to-end -
Tracking Engineering Time
How do you understand what engineers are doing with that time? How do you know if they’re working on the “right” things? Here’s how I suggest answering those questions. -
Django REST Framework and Vue versus Django and HTMX
This article compares the development experience with Vue and Django REST Framework against HTMX and Django. -
Django News - htmx 2.x Migration Guide - Feb 2nd 2024
News PSF News: Kicking off 2024 strong, thanks to our community! The PSF is starting the year feeling energized and supported, thanks to each of you who shared or donated to the year-end fundraiser and membership drive. blogspot.com </> htmx ~ htmx 1.x → htmx 2.x Migration Guide The purpose of this guide is to provide instructions for migrations from htmx 1.x to htmx 2.x. We place a very high value on backwards compatibility, so in most cases this migrations should require very little, if any, work. htmx.org Updates to Django Today 'Updates to Django' is brought to you by Pradhvan Bisht and Mohammad Alsakhawy from Djangonaut Space! The Django roadmap is here! Meeting modern auth standards, switching to Jinia2, built-in API framework, built-in rate limiting, sponsored Django features, making Django-Update official, and many more exciting ideas made it into the roadmap! And the discussion is still ongoing. Last week we had 15 pull requests merged into Django by 11 different contributors - including 3 first time contributors! Congratulations to Marijke Luttekes, Adrienne Franke, and Aryan Gholizadeh Mojaveri for having their first commits merged into Django - welcome on board! We're still seeing more updates to GeoDjango: OGRGeometry.coord_dim is deprecated … -
Django Hello, World
## Table of Contents - [Create a Virtual Environment](#create-a-virtual-environment) - [Install Django](#install-django) - [Create a Django Project](#create-a-django-project) - [Add Hello, World](#create-a-django-app) - [Next Steps](#next-steps) [Django](https://www.djangoproject.com/) is a high-level Python web … -
20 Django Packages That I Use in Every Project
Django is a "batteries-included" web framework that provides most of your needs to build complex web applications. But its real strength lies in the larger Django ecosystem of third-party packages … -
How to Create Virtual Environments in Python
## Table of Contents - [What is a Virtual Environment?](#what-is-a-virtual-environment) - [Create a Virtual Environment](#create-a-virtual-environment) - [Activate a Virtual Environment](#activate-a-virtual-environment) - [Install Packages](#install-packages) - [Deactivate the Virtual Environment](#deactivate-the-virtual-environment) Virtual environments … -
Safely rewriting complex code
There is a lot of advice out there suggesting to never rewrite anything. Just improve it in small increments. This is sound advice for services, modules or large chunks of code. Yet sometimes rewriting a complex part of your system will be inevitable. This does not mean the above advice does not apply. You still want to minimise risk and potentially try to ship smaller increments instead of rewriting 2000 lines of code in one go. No matter how big you deside to make the change, some guardrails and a safety net will come in handy. For basically any Python project one of the first developer dependencies I install is pytest. For Django projects I always add pytest-django. For feature flags my preferred library is Django Waffle. The code examples show how to use these three libraries to make a rewrite less scary. But there is no functionality exclusive to these three libs. You can easily replicate the approach with alternatives or in other languages and frameworks. The complete code and Django project can be found here. Starting simple One of the features I really appreciate is parameterize. You can add a list of values which is passed to your … -
Django News - Apply to be the next Django Fellow! - Jan 26th 2024
News Announcing: The Outstanding PyLady Award Do you know of a PyLady that should be recognized for all their work for Python and the community? Nominate them (or yourself)! pyladies.com Django Software Foundation DSF calls for applicants for a Django Fellow After five years as part of the Django Fellowship program, Mariusz Felisiak will step down as a Django Fellow in March 2024 to explore other things. Mariusz has made an extraordinary impact as a Django Fellow and has been a critical part of the Django community. Applications will be open until 1200 AoE, February 16, 2024, with the expectation that the successful candidate will be notified no later than March 1, 2024. djangoproject.com Updates to Django Today 'Updates to Django' is brought to you by Mohammad Alsakhawy from Djangonaut Space! Last week we had 16 pull requests merged into Django by 14 different contributors - including 3 first time contributors! Congratulations to Aivars Kalvāns, Alexis A., and Emmanuel Katchy for having their first commits merged into Django - welcome on board! Last week saw some exciting developments in 5.1: Model.refresh_from_db() and Model.arefresh_from_db() has a new parameter from_queryset that gives you more control over how the model is reloaded. makemigrations … -
When PyCharm Deletes Poetry Virtual Environments: The Fix
I use PyCharm as my Python IDE and Poetry for dependency and virtual environment management. However, the magnificent combination of these tools occasionally encounters a weird issue: PyCharm deletes the Poetry virtual environment when you launch the IDE. Though the problem occurs infrequently, when it does, it leads to a … Read now -
Payments Gateway - Building SaaS with Python and Django#181
In this episode, we continued on the Stripe integration. I worked on a new payments gateway interface to access the Stripe APIs needed for creating a check out session. We hit some bumps along the way because of djstripe’s new preference for putting the Stripe keys into the database exclusively. -
Datasette, LLMs, and Django - Simon Willison
Simon Willison’s WeblogDatasetteDatasette Cloud running on Fly.ioChoose Boring TechnologyDatasette enrichmentsLLM and LLM pluginsMistral, Mixtral, and ways to run it on LLMNYT lawsuit against OpenAIChatGPT for AppleScriptSimon uses https://llm.mlc.ai/#ios to run Mistral 7B on his iPhoneBuilding a Blog in DjangoSimon’s 15-year-old single file Django attempt djng and notesAI Superpowers bookSupport the ShowLearnDjango.comButtonDjango News newsletter -
pre-commit: Block files based on name with a custom “fail” hook
This post is an adapted extract from my book Boost Your Django DX, as updated last week. pre-commit’s “fail” virtual language fails all files that it matches. Combine it with pre-commit’s file name and type matching to block unwanted files in your repository. Let’s try it out with an example from working with Django’s fixtures system. Imagine you’ve recently transitioned your project from JSON to YAML fixtures because you prefer YAML’s readability. After converting all of your existing fixtures, you’re concerned that JSON fixtures may still get added in the future, complicating ongoing maintenance. You can prevent non-YAML fixtures from being added with a “fail” hook. Define such a hook in your .pre-commit-config.yaml as below. repos: - repo: local hooks: - id: check-fixture-types name: Check fixture types language: fail entry: Please convert non-YAML fixtures to YAML. files: /fixtures/ exclude_types: [yaml] Let’s take apart the hook definition. The first thing to note is that the hook appears under a repo: local declaration. This special repository location indicates that the hooks are defined in this repository rather than another. Several keys then define the hook: id defines the hook ID. Use the ID to refer to the hook on the command line … -
Farewell, Djangosites
The time has come for me to shut down Djangosites.org. This will happen in late January, 2024. When I started Djangosites back in 2007, Django was still a relatively young platform (having been an open-source project for only a few years) and besides the Lawrence Journal-World there were few … -
Django News - DjangoCon Europe 2025 Call for Proposals - Jan 19th 2024
News Mariusz Felisiak: "I've decided to retire from being a Django Fellow at the end of March 2024…" Django Fellow Mariusz Felisiak announced he is stepping down after five years. Thank you for all the hard work, Mariusz!!! mastodon.social DjangoCon Europe 2024 - Call for Proposals The CFP is open until March 1st to submit your talk proposals. evolutio.pt PSF: EU’s Cyber Resilience Act Passes with Wins for Open Source An important update on the EU's Cyber Resilience Act. blogspot.com PSF: Announcing the Deputy Developer in Residence and the Supporting Developer in Residence The Python Software Foundation has welcomed Petr Viktorin as the new Deputy Developer in Residence and Serhiy Storchaka as the Supporting Developer in Residence to form a full residency team focused on improving CPython, with funding from Bloomberg and an anonymous donor. blogspot.com Django Software Foundation DjangoCon Europe 2025 Call for Proposals DjangoCon Europe 2024 will be held June 5th-9th in Vigo, Spain, but they're already looking ahead to the 2025 conference. Learn more about what it takes to host this amazing conference! djangoproject.com Updates to Django Last week we had 15 pull requests merged into Django by 12 different contributors - including 4 first time contributors! … -
My Django roadmap ideas 💡
My ideas for the informal Django roadmap session for 2024, proposed by the new DSF board member, Thibaud Colas. -
Design and Stripe - Building SaaS with Python and Django #180
In this episode, I started with a plan to work on Stripe checkout, but realized that I needed to come up with a better plan and also improve the base template of the app. We ended up doing more design work than working with Stripe, but we ended the stream with a solid plan of what to do next. -
Weeknotes (2024 week 03)
Weeknotes (2024 week 03)Djangonaut Space I wish all participants a good time and much success. I do not have anything to do with it really but I enjoy the idea a lot and maybe there will be a pull request or two to review. Kubernetes After years and years of hosting all sites on VPS I have finally reached the point where the old setup is more annoying to work with than switching to a new one. I have searched long for a solution which wasn’t as limited as some PaaS and as complex as going full Kubernetes, and where I can still delegate the responsibility of actually keeping things up and running to other people. In the end I have now accepted that such a thing doesn’t exist; either you have the limitations of a ready made solution, the limitation of having to open many many support tickets or the problem of having to learn Kubernetes (or something similar) with its extremely steep learning curve. After spending days with it I’m slowly getting to the point where setting up local development environments and deploying changes is fun again. I’m using the GitOps paradigm; while I’m still building and uploading … -
Boost Your Django DX update out now
I just released a major update to my 2021 book Boost Your Django DX. This update contains new content, a bunch of edits, and uses the latest versions of tools, including Python 3.12 and Django 5.0. Boost Your Django DX contains many recommendations to improve your development experience (DX) while working on Django projects. It covers code quality tools (linters and formatters), virtual environments, models, migrations, settings, and even documentation. See below for the full updated table of contents. The book has sold over one thousand copies, including some large team licenses. I hope this update extends its utility and helps even more developers work smarter. This update is free for all who previously purchased the book, and I’ve sent an email out to notify readers. There’s a changelog in the first chapter with links to the changed sections, reproduced below. As part of this update, I’m increasing the price from $39 to $42. This headline price is automatically discounted up to 60% to match local purchasing power in your country. There’s also a bundle deal with my new Git book, and team licenses are available. Buy now on Gumroad May you embrace the spirit of continuous improvement this year, … -
Django News - It's Migrations week 📦 - Jan 12th 2024
Django Software Foundation DSF membership now recognizes a much broader range of contributions to Django The Django Software Foundation has updated its bylaws to represent better who may be a member. djangoproject.com DSF Board 2024 Elections – New board members 👋 Following the 2024 DSF Board Election Results, here are quick introductions from our two new board members, Sarah Abderemane and Thibaud Colas. djangoproject.com Updates to Django Last week we had 17 pull requests merged into Django by 9 different contributors - including 2 first time contributors! Congratulations to Michael, and Zowie Beha for having their first commits merged into Django - welcome on board! Last week saw a bunch of updates to GeoDjango. From 5.1: BoundingCircle will be supported on SpatiaLite 5.1+. Collect will be supported on MySQL 8.0.24+. GeoIP2 will allow querying using ipaddress.IPv4Address or ipaddress.IPv6Address objects. Also note that Django 5.1 has deprecated passing positional arguments to Model.save() and Model.asave() in favor of keyword-only arguments. Django Newsletter Wagtail CMS Discover Wagtail AI Webinar Whether you're a content creator, a tech enthusiast, or on the lookout for a CMS with advanced AI capabilities, this event is designed with you in mind. bit.ly Recovering deleted Wagtail pages and Django … -
Accessibility - Sarah Abderemane
Sarah Abderemane’s website [@sabderemane on Mastodon](https://mastodon.social/@sabderemane/)Octopus EnergyDjango Accessibility TeamDjango DiscordDjangonaut SpaceWhoCanUseAccessibility on the Django ForumPyLadies Con 2023: Djangonaut Space, how we organized a mentorship programDjangoCon 2020 | Accessibility wins for Django projects - Thibaud ColasSupport the ShowLearnDjango.comButtonDjango News newsletter -
Philanthropy Update
Lessons learned and updates from a couple of years of executing on my philanthropic plan: finding and tracking organizations, continuing to wrestle with anonymity, and a list of donations we’ve made. -
Django Stripe Tutorial
In this tutorial, we will create a Stripe-powered Django website to handle purchases. The final site will have a homepage for orders, a success page when an order goes through, …