Django community: RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Choosing a Django Version
One of the first things you need to do when starting a new Django project is to choose which version of Django you are going to use. At any given time, there could be as many as three supported Django versions available to choose from: previous long-term supported version (LTS) current LTS latest official version I'm excluding pre-releases from this list which should only be used for testing. What are you optimizing for? The first question to ask yourself is what are you optimizing for. When we are building applications for our clients we are almost always optimizing to reduce costs, both during the initial development process and in support post-launch. For this reason, we are choosing versions which meet the goals of maximimizing interoperability with the Django ecosystem and minimizing maintenance (aka toil) down-the-road. Unless you are working on a hobby project and want to play with new features, I'd argue these goals are universal. Notes on Django Versioning Django does not follow the semantic versioning standard strictly. Versions will always be made up of three numbers (major.minor.patch). Minor version 2 is always an LTS version. After the LTS, the major version is incremented and two minor releases are … -
Django News - Python Developers Survey 2021 Results - Jun 10th 2022
News Get PyCharm, Support Django Until June 20, you can purchase PyCharm Pro at 30% off, with all of the proceeds being donated to the Django Software Foundation. jetbrains.com Python Developers Survey 2021: Python is everywhere The results of the fifth official annual Python Developers Survey are now available. blogspot.com Python Insider: Python 3.10.5 is available Python 3.10.5 is a bugfix release with more than 230 bugfixes and docs changes. blogspot.com Tailwind CSS v3.1 was released Tailwind CSS v3.1 adds variants, adds better support for importing existing CSS, and adds dozens of new features and bug fixes. tailwindcss.com Sponsored Ad Affordable Heroku-like experience for Django. Spin up a production-ready Django application, Postgres DB, and Redis in 5 minutes on AWS, DO, or any other provider. appliku.com Events DjangoCon US Talks I’d Like to See: 2022 Edition Friday, June 10th AOE is the last day to submit your DjangoCon US talk and tutorial proposals. Jeff wrote up some last-minute talk ideas that he'd like to see. Please note that they will be accepting an additional ten prerecorded talks if travel isn't your thing. jefftriplett.com Articles Django: How to send email without Celery Lightweight emails without Celery. And without a request-response cycle. … -
You Don't Need JavaScript
What If I Told You… You Don’t Need JavaScript. This talk explores why JavaScript is not good fit for most web apps. I then show how most web apps can do dynamic things using htmx. htmx is an extension library to make HTML markup better. I present examples of AJAX fetching and deletion. The presentation includes a dynamic search and how to implement infinite scrolling with a trivial amount of code. -
You Don't Need JavaScript
What If I Told You… You Don’t Need JavaScript. This talk explores why JavaScript is not good fit for most web apps. I then show how most web apps can do dynamic things using htmx. htmx is an extension library to make HTML markup better. I present examples of AJAX fetching and deletion. The presentation includes a dynamic search and how to implement infinite scrolling with a trivial amount of code. -
Handling Concurrency Without Locks
Concurrency is not very intuitive. You need to train your brain to consider what happens when multiple processes execute a certain code block at the same time. There are several issues I often encounter: Failing to recognize potential concurrency issues: It's not uncommon for both beginner and seasoned developers to completely miss a potential concurrency problem. When this happens, and the concurrency issue end up causing bugs, it's usually very hard to trace and debug. Dismiss concurrency issues due to low likelihood: If you recognized a potential concurrency issue, at some point you probably thought to yourself "what are the chances if this happening...". It's very tempting to dismiss concurrency issues when the likelihood is low. However, I personally found that concurrency issues tend to creep up at the worst time - when your system is under significant load and you have very little time (and grace) to come up with a solution. Abusing locks: If you recognized a potential issue and decided to handle it properly, your next step will usually involve some kind of lock. Sometimes locks are necessary, but more often than not they can be avoided, or replaced by more permissive locks. In this article I … -
Read The Docs - Eric Holscher
Eric’s personal wite@ ericholscher on TwitterRead the DocsWrite the DocsAd Funding at Read the Docs and What’s Next for Ethical AdvertisingDjangoCon Europe 2021: Dynamic static sites with Django & Sphinx by Carlton GibsonSupport the ShowThis podcast does not have any ads or sponsors. To support the show, please consider purchasing a book, signing up for Button, or reading the Django News newsletter. -
Django News - Annual Django PyCharm Promotion - Jun 3rd 2022
News Get PyCharm, Support Django Until June 20, you can purchase PyCharm Pro at 30% off, with all of the proceeds being donated to the Django Software Foundation. jetbrains.com Django bugfix release: 4.0.5 This bugfix fixes three bugs in Django 4.0.4. As ever, the best security practice is to always be on the latest version of Django. djangoproject.com PSF Board Election Dates for 2022 Board elections are a chance for the community to find the next batch of folks to help steer the Python Software Foundation. blogspot.com Sponsored Link Crunchy Bridge - Fully Managed Postgres as a Service crunchybridge.com Articles TDD Practice: Time API with Django The blog post version of a workshop the author ran at DjangoConEU in 2018. Now updated for Django 4.0, learn some TDD (Test Driven Development) tricks by building a small API with Django. brntn.me Debugging Tips And Techniques Multiple debugging and problem solving techniques for Django apps. mattlayman.com Build a CRUD application using Django, React & Docker Step-by-step guide to building a Menu website with CRUD support using Django, React, Docker. dev.to People in your software supply chain A thoughtful piece on recognizing and highlighting the contributors responsible for crucial parts of the Python … -
Debugging Tips And Techniques
In the last Understand Django article, we looked at security. How does a Django site stay safe on the big, bad internet? The article explored some core elements for making Django app more secure. With this article, we will investigate problem solving techniques for Django apps. The goal is to equip you with tools to fix the real problems that you’ll hit when building your Django site. From Browser To DjangoURLs Lead The WayViews On ViewsTemplates For User InterfacesUser Interaction With FormsStore Data With ModelsAdminister All The ThingsAnatomy Of An ApplicationUser AuthenticationMiddleware Do You Go? -
Django: How to send email without Celery
<![CDATA[ Django: How to send email without Celery I have to admit that I found sending emails in Django more difficult than I expected since other more complex stuff seemed easier. In this post, I want to share a lightweight approach that I am successfully using for a somewhat lower email volume. While the most basic solution is just sending email in your view code (before you return a response), this is problematic. It will make the response much slower, and if the email fails to send, you have no real means of sending it again. Management command + CRON to the rescue I am currently quite happy with basic management commands combined with CRON schedule that runs every few hours and sends emails. We can keep track of sent emails with records in the database. For example, when I send an email notification that a trial expires soon, I create a record in the database to ensure the email is not sent twice. The model looks something like this: class SentEmailRecord(models.Model): timestamp = models.DateTimeField(auto_now_add=True) email_type = models.CharField(blank=False, max_length=50) to_user = models.ForeignKey(to=CustomUser, blank=True, null=True, on_delete=models.SET_NULL) The email_type is just a field to save the type I have as a constant … -
Django News - DjangoCon Topic Suggestions - May 27th 2022
News PyCon US 2022 Recap and Recording Announcement All 101 PyCon US 2022 recordings are up now on YouTube. blogspot.com Need Suggestions for a DjangoCon US 2022 Topic? Suggestions for topics from the DjangoCon US team. Also applies to DjangoCon Europe! Reminder: DjangoCon US's CFP closes on Friday, June 10th. Reminder: DjangoCon Europe's CFP closes on Tuesday, May 31st. djangocon.us Sponsored Link gumroad.com Events DjangoCongress JP 2022 DjangoCongress JP is back this November. djangocongress.jp Articles Adding GraphQL to your Django App An overview with code snippets of the two main ways--Graphene and Strawberry--to add GraphQL support to an existing Django application. paltman.com Django Friday Tips: Less known builtin commands A look at several less-common Django management commands including diffsettings, sendtestemail, inspectdb, and showmigrations. ovalerio.net Python Standard Library changes in recent years While most attention goes to new features, this article focuses on standard library novelties introduced in Python versions 3.8–3.10. antonz.org Django + memcached + namespace A look at using namespaces to get around not being able to delete keys using a wildcard with memcached. dev.to The Django speaking tour 2022 Paolo Melchiorre takes us on his Django 2022 speaking tour across Europe. It was a fun read for those … -
Brew Install The World - Building SaaS with Python and Django #135
In this episode, I tried to get started after a long break, but my virtual environment was broken. This entire episode is a journey deep into Python installing world. Did I come out on the other side? Yes, we figured it out. You’ll have to watch (or skip to the end) to figure out what happened. :) -
Brew Install The World - Building SaaS #135
In this episode, I tried to get started after a long break, but my virtual environment was broken. This entire episode is a journey deep into Python installing world. Did I come out on the other side? Yes, we figured it out. You’ll have to watch (or skip to the end) to figure out what happened. :) -
The Django speaking tour 2022
Being a conference speaker gives me the opportunity to meet people, make new friends and visit new places. Having this opportunity is something I am truly grateful for. I tried to tell about my latest trip through Europe to talk about Python, Django and Community. -
Django 4.1 Preview - Jeff Triplett
Jeff Triplett personal siteDjango 4.1 release notes - UNDER DEVELOPMENTDjangoCon US Call for ProposalsDjango News newsletterawesome-djangoDjango for Professionals 4.0 UpdateDjangoX starter projectSupport the ShowThis podcast does not have any ads or sponsors. To support the show, please consider purchasing a book, signing up for Button, or reading the Django News newsletter. -
Edgecase (kubernetes on the edge): morning summaries
(Some summaries of the May 2022 Dutch Edgecase meeting). Living on the edge - Gerrit Tamboer You can run kubernetes in a lots of places. Greenhouses, chip making machines, factories, etcetera. Connectivity. Plugging in a cable is the best case scenario. But perhaps you need VPN. Wifi is challenging. But perhaps also completely airgapped: no direct internet at all. Security. If you work in the cloud, security is much different from when lots of people could have direct hardware access to your equipment because it is in a factory or so. Are your disks encrypted? Unpredictability. On the edge, predictability is out the window. The situation can be quite diverse and weird. If you combine that with kubernetes' complexity: why would you do that? If you combine complexity and unpredictability, you get operational overhead. But that was the situation a few years ago. Now you have k3s. It changes everything. k3s, whether a node or a master, is a single binary. You can even run single-node clusters. k3s is great and easy. He did a quick demo. A master k3s in amazon and three battery-powered raspberry pi machines spread over the room running k3s. What they normally use to manage … -
Edgecase (kubernetes on the edge): afternoon summaries
(Some summaries of the May 2022 Dutch Edgecase meeting). Edge: the new data center - Chris Urwin Kubernetes is appealing on the edge. What every developer wants is a datacenter under their desk. With k8s (and especially k3s) they can. Kubenetes helps a lot by giving you a real, complete environment to manage your workloads. No more custom scripts to monitor whether your docker still runs and restart it if needed. That's all handled. The challenge about kubernetes: it is big and bloated. The solution for this is k3s which is a full, certified kubernetes distribution but easy and quick to install and maintain. Edge, what is it? To him, "anything outside of a data center" is edge. Near edge: telco, media, communications. Bigger deploys. Often you see kubernetes installs being offered instead of regular applications. Far edge: retail, banking, education, argriculture, utilities. Separate devices that need managing. K3S shines here (also in combination with "SLE micro"). K3s is really open source. Build and born in the cloud. The rest of suse Rancher is too. Lightweight cloud-native edge stack, reliable and secure edge inffrastructure. They aim at low maintenance. That "SLE micro": OS build for the edge. Enterprise-grade, but especially … -
Building a CRUD App with FastAPI, MongoDB, and Beanie
This tutorial looks at how to develop an asynchronous API with FastAPI, MongoDB, and Beanie. -
Mailbag: Dealing With Misalignment While Hiring
Answering a question from a reader: how do you deal with misalignment – arguments about skills, pay, etc. – when hiring? -
Django News - Django 4.1 alpha 1 released - May 20th 2022
News Django 4.1 alpha 1 released Django 4.1 alpha 1 is now available. It represents the first stage in the 4.1 release cycle and is an opportunity for you to try out the changes coming in Django 4.1. djangoproject.com Wagtail 3.0 release notes Wagtail 3.0 is live! This is a major update that has a page editor redesign, rich text block splitting, image duplication detection, and many more great features. wagtail.org Python 3.9.13 is now available The final regular maintenance release for Python 3.9. Starting now, the 3.9 branch will only accept security fixes and releases of those will be made in source-only form until October 2025. blogspot.com Sponsored Link Crunchy Bridge - Fully Managed Postgres as a Service crunchybridge.com Articles Django File (and Image) Uploads Tutorial Fully updated guide to managing media files in Django by building an Instagram clone. learndjango.com Recent objects using several Django models From Matthias Kestenholz, an article on the new package django-recent-objects which can combine, for example, recent articles and comments in a single activity stream. 406.ch Deploying Django To App Engine With Github Actions An in-depth guide to deploying a website with Google Cloud Platform App engine and performing migrations on a Cloud … -
Django for Professionals 4.0 Update
Changelog for the Django 4.0 update -
Professionalism: Honesty is a professional behavior
Dishonesty at work is wrong except when it isn’t. -
Mercurial Mirror For Django 4.1 Branch
The usual ‘production’ mirror for the recently announced Django 4.1. The URL (both web browsing and mercurial cloning) is https://hg.freehackers.org/mirrors/django-4.1-production The list of all mirrors is on this page -
A Django speaking tour: there and back again
Being a conference speaker gives me the opportunity to meet people, make new friends and visit new places. Having this opportunity is something I’m truly grateful for. I’ll try to tell my new journey through Europe to talk about Python, Django and Community. -
Django News - DjangoCon US/Europe Call for Proposals - May 13th 2022
News DjangoCon US Call for Proposals is Open! DjangoCon US is scheduled for October 16-21 in San Diego, CA. The deadline for proposals is June 10, 2022. pretalx.com DjangoCon Europe 2022 Call for Proposals DjangoCon Europe is happening September 21-25th in Porto, Portugal. The deadline for proposals is May 31, 2022. djangocon.eu Python Release Python 3.11.0b1 The first of four planned beta release previews for Python 3.11. This release is a feature freeze which means that no new features or APIs will be added to 3.11 and only bugfixes are allowed. python.org Sponsored Link gumroad.com Articles REPL Python programming and debugging with IPython IPython's powerful interactive prompt makes it a great tool for debugging Python code. Luke Plant demonstrates how. lukeplant.me.uk Django Testing Tutorial A comprehensive guide to testing Django applications. Covers creating/testing multiple static pages and a message board application. learndjango.com Announcing the PyOxy Python Runner PyOxy is a single file Python distribution and highly portable (C)Python distribution used for running Python interpreters. gregoryszorc.com Adding GraphQL to your Django App Patrick Altman shows us how to add GraphQL to your Django App using Graphene or Strawberry. paltman.com Celery Alternative for Django - Huey Trying out a lightweight asynchronous task … -
Boring Python: dependency management
This is the first in hopefully a series of posts I intend to write about how to build/manage/deploy/etc. Python applications in as boring a way as possible. So before I go any further, I want to be absolutely clear on what I mean by “boring”: I don’t mean “reliable” or “bug-free” or “no incidents”. While there is some overlap, and some of the things I’ll be recommending can help to reduce bugs, I also want … Read full entry