Django community: Community blog posts RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Mercurial Mirror For Django 5.0 Branch
The mirror is up and running since the first beta or so, but I forgot to mention it on the blog. Now that 5.0 is officially released, it seems a perfect timing to fix that. For the record, those mirrors are read-only, and aimed at production (aka “I want an easy way to update Django […] -
Easy HTTP status codes in Python
This is part of a series of posts I’m doing as a sort of Python/Django Advent calendar for Advent 2023, offering a small tip or piece of information each day from the first Sunday of Advent through Christmas Eve. See the first post in the series for an introduction. The most useful test I could be misremembering, but I think Frank Wiles was the first person I ever heard explain that, for a web application, … Read full entry -
Making Decisions: First decide how to decide: “one weird trick” for easier decisions
This is my preferred decision-making process – a version of the “document-discuss-decide” process that I called for at the end of the part 1 in this series. The most important part of this process – its “one weird trick”, if you will – is the way it includes a “how shall we decide?” step. This separates out the meta-question of the decision-making process from the decision itself, which (I’ve found) makes decisions much easier. -
A Python/Django Advent calendar
Advent is the liturgical season preceding Christmas in many Christian traditions, and generally begins on a Sunday — often the fourth Sunday before Christmas Day, but it varies depending on the church and the rite, which can put the first Sunday in Advent in either late November or early December. The concept of an Advent “calendar” which counts down to Christmas, and in which each day has a door or panel which opens to reveal a … Read full entry -
Saturday stream explorer
I was looking for new thing to do to improve my stream. This is mostly me goofing off. -
Django News - 2024 DSF Board Election Results - Dec 1st 2023
News 2024 DSF Board Election Results The 2024 Django Software Foundation (DSF) Board Election has concluded, electing Jacob Kaplan-Moss, Sarah Abderemane, and Thibaud Colas to two-year terms. Congratulations to the new members and a heartfelt thank you both to departing board members and all nominees. djangoproject.com Updates to Django Last week we had 22 pull requests merged into Django by 12 different contributors - including 3 first time contributors! Congratulations to Prashant Pandey, Standa Opichal, and trontelj for having their first commits merged into Django - welcome on board! Some key updates from last week: From 5.1, RequestFactory/AsyncRequestFactory/Client/AsyncClient/Client now supports a query_params parameter, which accepts a dictionary of query string keys and values. This allows setting query strings on any HTTP methods more easily. Django has started to test against Python 3.13 alpha. Python 3.13 is scheduled to release October 2024, if all goes well we can expect Django to support Python 3.13 from 5.1. 5 release blockers were resolved last week, and a few more this week! Thank you so much to everyone who has been testing 5.0 💚 Django Newsletter Wagtail CMS StreamField Quick Demo Not sure what StreamField is and why it's amazing? We have a demo … -
Making Decisions: RFC processes are a poor fit for most organizations
The RFC process has been a huge success in defining the standards that run the Internet, but naively adopting this process for your company is a mistake. RFC processes tend to fail at most organizations because they lack a clear decision-making step. -
Switch an Existing Python Project To Ruff
On a recent Building SaaS stream, we switched from using flake8, Black, isort, and bandit completely over to a single tool, Ruff. Watch an experienced Pythonista work through many of the options and do a full conversion to this powerful tool -
Weeknotes (2023 week 48)
Weeknotes (2023 week 48)A few weeks have passed since the last update. The whole family was repeatedly sick with different viruses etc… I hope that the worst is over now. Who knows. 12-factor Django storage configuration I should maybe write a longer and separate post about this, but speckenv has gained support for the Django STORAGES setting. No documentation yet, but it supports two storage backends for now, the file system storage and django-s3-storage, my go-to library for S3-compatible services. Using it looks something like this: from speckenv import env from speckenv_django import django_storage_url STORAGES = { "default": django_storage_url( env( "STORAGE_URL", default="file:./media/?base_url=/media/", warn=True, ), base_dir=BASE_DIR, ), "staticfiles": { "BACKEND": "django.contrib.staticfiles.storage.ManifestStaticFilesStorage", }, } Then, if you want to use S3 you can put something like this in your .env file: STORAGE_URL=s3://access-key:secret@bucket.name.s3.eu-central-1.amazonaws.com/media/ Or maybe something like this, if you want to serve media files without authentication: STORAGE_URL=s3://access-key:secret@bucket.name.s3.eu-central-1.amazonaws.com/media/?aws_s3_public_auth=False&aws_s3_max_age_seconds=31536000 Releases speckenv 6.1.1: See above. feincms3-meta 4.6: York has contributed support for emitting structured data records. Looks nice. No documentation yet. django-tree-queries 0.16.1: .values() and .values_list() queries are now handled better and more consistently than before. -
Message Parsing and Ruff - Building SaaS with Python and Django #176
In this episode, we finished off the core portion of the application by parsing entries out of the messages sent back by SendGrid. We set up the Heroku Scheduler to start the daily flow of emails to get the system started. After completing that, I set up the project to use Ruff instead of the collection of tools used previously. -
2024 Django Software Foundation board nomination
My self-nomination statement for the 2024 Django Software Foundation (DSF) board of directors elections -
Django News - Django 5.0 release candidate 1 released and Python 3.13.0 alpha 2 - Nov 24th 2023
News Django 5.0 release candidate 1 released Django 5.0 release candidate 1 is the final opportunity for you to try out a deluge of exciting new features before Django 5.0 is released. djangoproject.com Python 3.13.0 alpha 2 is now available Python 3.13.0a2 is the second of seven planned alpha releases. blogspot.com Updates to Django Last week we had 17 pull requests merged into Django by 11 different contributors - including 4 first time contributors! Congratulations to Andrew Cordery, jed212, William Hayes and Giannis Terzopoulos for having their first commits merged into Django - welcome on board! Some key updates from last week: Python 3.12 support has been added to Django 4.2.8 (release scheduled for December 4th). From Django 5.1, the HTML attribute aria-describedby is available on form fieldsets - enabling screen readers to associate fieldsets with their help text. The Django accessibility team has publicly stated their targeted assistive technology support for the Django admin. If you are a user of any of these, we'd love for you to introduce yourself to the team in the Django Discord #accessibility channel 💚 The accessibility team is also looking for feedback on their guidelines for Django contributors. Both “general sentiment” comments and … -
Database generated columns⁽²⁾: Django & PostgreSQL
An introduction to database generated columns, using PostgreSQL and the new GeneratedField added in Django 5.0. -
Three Years at Kraken Tech
A summary of the past year as I finish my third year working for Kraken Tech, an Octopus Energy Group subsidiary. Note: As I write this I'm recovering from a sprained shoulder I received in a bicycle accident that makes it hard to type. I'm mostly using voice-to-text, so the text might not be in my normal "writing voice". I changed roles I transitioned from leading the tech team for Kraken Tech USA to being an individual contributor for the global team. I do this periodically, cycling between writing code to leading teams, and back again. It is never easy to transition between roles but this time in particular it was particularly hard. The US Kraken Tech team is a group of talented, diverse, and passionate people. I'm so honored I had the chance to work with them. I'm constantly amazed by what they have accomplished and what they continue to do. In my new role I'm on the "Developer Foundations" team, exploring ways to improve the coding experience at the company. I've enjoyed writing code full-time again, there's a clarity of purpose that's been fun to embrace. Mostly that's been working in Python with a bit of Django, with … -
Web Security - Mackenzie Jackson
GitGuardianThe Security Repo PodcastConpagoWhy ChatGPT is a Security Concerndjango-two-factor-authPyCon Italia: Exploiting Leaked Credentials - How python code is leaking millions of secretsGitHub Events APISupport the ShowLearnDjango.comButtonDjango News newsletter -
Professionalism: No Yelling
It’s never acceptable to yell at work. The norms of professional behavior call for a cool demeanor. It’s normal to have emotions at work, but there’s a limit to how strongly you can express those emotions, particularly anger. -
Django-related Deals for Black Friday and Cyber Monday 2023
Here are some Django-related deals for this year’s Black Friday (24th Nov) and Cyber Monday (27th Nov), including my own. I’ll keep updating this post as I learn about more deals. If you are also a creator, email me with details of your offer and I’ll add it here. My books My three books have a 50% discount, for both individual and team licenses, until the end of Cyber Monday (27th Nov). This deal stacks with the purchasing power parity discount for those in lower-income countries. Buy now: Boost Your Django DX - $19.50 instead of $39 Boost Your Git DX - $19.50 instead of $39 (released in October!) Speed Up Your Django Tests - $24.50 instead of $49 Aidas Bendoraitis’ GDPR Cookie Consent Package Aidas Bendoraitis of djangotricks.com created this paid third-party app for Django. The package takes the pain out of setting up and customizing legally mandated GDPR Cookie Consent screens. Compared to commercial “one size fits all” solutions, it’s much simpler to use this third-party app to host and tweak your project’s cookie consent screen. Use the discount code BLACKFRIDAY2023 for 20% off, from €150 to €120, until the end of November. Buy it on Gumroad Michael … -
Performance Is Contextual
Managers often talk about performance as a static thing. We say that someone is a “high performer” or “low performer”, as if performance is a fixed attribute of their personality. This fixed mindset is a mistake. Performance is contextual: how well you perform your job is deeply dependent on the conditions around you. -
Django: Stop a backgrounded runserver with lsof
If you start runserver but your terminal session gets closed, the server can continue running in the background. For example, this can happen when your IDE crashes. This situation is annoying because you can’t stop the backgrounded runserver with Ctrl-C. You can find and stop the server with your operating system’s process list tool, such as Windows Task Manager or macOS’ Activity Monitor. But this is manual and slow. It’s faster to use this shell one-liner, for Bash or Zsh, on macOS or Linux: lsof -i :8000 -t | xargs -t kill Replace “8000” with the port the server is running on. lsof is pre-installed on macOS but you may need to install it on Linux. xargs is pre-installed everywhere. Here’s a quick breakdown of what’s going on: lsof is a tool for listing processes and the files they have open. Since operating systems treat internet addresses as files, lsof has the -i option to select processes by the internet addresses they have open. -i :8000 selects processes bound to port 8000: $ lsof -i :8000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME python3.1 43282 adamjohnson 9u IPv4 0xe72dc161b280a8a9 0t0 TCP localhost:irdmi (LISTEN) Adding -t makes lsof outputs … -
Django News - 206 Partial Content - Django Sprints Proposal - Nov 17th 2023
News Paolo Melchiorre - My Django active developers Sprints proposal 🌅 The story of how the proposal to organize sprints on the Django active developers was born and how I proposed it during the past DjangoCon US 2022 in San Diego to various components of the Django community. paulox.net PyPI has completed its first security audit The results of PyPI's very first external security audit. The first post in a three-part series. pypi.org Updates to Django Last week we had 6 pull requests merged into Django by 6 different contributors - including 1 first time contributor! Congratulations to Prakhar Parashari for having their first commit merged into Django - welcome on board! The main priority is resolving release blockers for Django 5.0, as the release candidate is planned for November 20th! DjangoCon Africa was also last week and it looked AMAZING! Congratulations to the incredible folks who make such a wonderful conference. "Django is not a framework, it's a community" 💯💜 Django Newsletter Wagtail CMS Wagtail 5.2.1 Wagtail 5.2.1 is a bugfix release that addresses over a dozen fixes. github.com Looking for sponsorship – Accessibility checks for site administrators We’re building state-of-the-art accessibility checks within the CMS, replacing expensive monitoring … -
A Battle of Async Titans: Django ORM Async vs. SQLAlchemy Async
When you enter the world of Python, you will hear that many developers love Django ORM, and others love SQLAlchemy. Each of those groups will tell you to your face why you have to choose their loved library, and if we add the async part of the programming, they will brag about the capacity of […] The post A Battle of Async Titans: Django ORM Async vs. SQLAlchemy Async appeared first on Distillery. -
A Battle of Async Titans: Django ORM Async vs. SQLAlchemy Async
When you enter the world of Python, you will hear that many developers love Django ORM, and others love SQLAlchemy. Each of those groups will tell you to your face why you have to choose their loved library, and if we add the async part of the programming, they will brag about the capacity of […] The post A Battle of Async Titans: Django ORM Async vs. SQLAlchemy Async appeared first on Distillery. -
How to Build Trust
What are the major management behaviors that can help build trust? Management books often cover the importance of trust, but abstractly. There’s precious little writing about the nuts and bolts, the day-to-day tasks of trust-building. That’s the gap I’d like to try to fill with this article. -
Does someone need to be a good manager to give good management advice?
In a management Slack I’m in, someone responded to a list of commonly-recommended management books by asking, “are these people good managers though?” It’s a fair question! But it’s not quite so simple. -
Parse Inbound Email - Building SaaS with Python and Django #175
In this episode, we switched to the inbound side and parsed an email to transform it into a journal entry. This caused us to look into the dateutil library and look at Python’s standard email module to use EmailMessage.