Django community: RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Django ORM and QuerySets Tutorial
The Django [Object-Relational Mapper (ORM)](https://docs.djangoproject.com/en/dev/topics/db/) is one of the most powerful aspects of the web framework, an abstraction layer that allows developers to write object-oriented Python code which is translated … -
Django Sitemap Tutorial
Django has a built-in [sitemap framework](https://docs.djangoproject.com/en/dev/ref/contrib/sitemaps/) that allows developers to generate sitemaps for a project dynamically. A sitemap is an XML file that informs search engines of your website's pages, … -
Django Log In with Email not Username
Django was first released in 2005 and since then a lot has changed in web development, notably the predominant pattern at the time of using username/email/password has been simplified to … -
pre-commit with Django
[pre-commit](https://pre-commit.com/) is a widely-used code quality framework. It allows a developer to add [hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) for various code quality tools that check your code for any errors or issues _before_ committing … -
Add robots.txt to a Django website
A "bot" is a general term for an automated program that does things like crawl the web. Google and other search engines rely on bots to periodically crawl the internet. … -
Django Static Files and Templates
Static files like CSS, JavaScript, and fonts are a core piece of any modern web application. They are also typically confusing for Django newcomers since Django provides tremendous flexibility around … -
Django Dependency Management with pip-compile and pip-tools
Even a basic Django project has multiple dependencies. After installing Django itself, various third-party packages--and their dependencies!--must be installed and managed. How do you track version numbers in a reproducible … -
Django Login and Logout Tutorial
In this tutorial, we'll learn how to configure login/logout functionality with Django's built-in [user authentication system](https://docs.djangoproject.com/en/4.2/topics/auth/). This post is the first in a three-part series that also covers [signup](https://learndjango.com/tutorials/django-signup-tutorial) and … -
Django Signup Tutorial
title: "Django Signup Tutorial" description: Add a signup/user registration page in Django 4.2. Previously, we [added login and logout pages](https://learndjango.com/tutorials/django-login-and-logout-tutorial) to our Django app. In this tutorial, we'll create a … -
Django Password Reset Tutorial
title: Django Password Reset Tutorial description: Implement user authentication with a password reset for Django 4.2. This tutorial demonstrates adding a password reset sequence to a Django application. It builds … -
Django, Docker, and PostgreSQL Tutorial
This tutorial will create a new Django project using Docker and PostgreSQL. Django ships with built-in SQLite support, but even for local development, you are better off using a "real" … -
Django Best Practices: Custom User Model
Django ships with a built-in [User model](https://docs.djangoproject.com/en/4.0/ref/contrib/auth/#django.contrib.auth.models.User) for authentication and if you'd like a basic tutorial on how to implement login, logout, signup and so on see the [Django Login … -
Django Slug Tutorial
In this tutorial, we will add slugs to a Django website. As noted in the [official docs for slugfield](https://docs.djangoproject.com/en/4.2/ref/models/fields/#slugfield): "slug" is a newspaper term, a short label for something containing … -
Django Best Practices: Template Structure
There are two main ways to organize your template structure in Django: the default app-level way and a custom project-level approach. ## Option 1: App Level By default, the Django … -
Django Favicon Tutorial
This tutorial explains how to add a favicon (shortcut icon) to a Django website. A favicon is a small icon that appears at the top of a tab in a … -
Django Best Practices: Projects vs. Apps
Within a single Django "project" can exist multiple "apps," which are used to separate discrete functionality. For example, a Django website might need an application for static pages like an … -
Django-allauth Tutorial
Django comes with a robust built-in authentication system for users but it does not provide support for third-party (social) authentication via services like Github, Gmail, or Facebook. Fortunately, the excellent … -
Seniority and self-management: you don't have to do this alone
At a certain level of seniority – typically the Staff level for ICs, and the Director level for managers – you’ll be expected to fully own huge areas of responsibility without detailed guidance. The mistake that many people make when they’re new to this level of autonomy is believing they have to do it all themselves. It is absolutely true that, once you reach this level of seniority, you are responsible for a very broad scope of responsibilities, skills, and tasks, but you don’t have to do this alone. At this level of seniority, you have to recognize your weaknesses, figure out what kind of support you need, and take steps to get yourself that support. -
Python 3.12: What's New
This article looks at the new features in Python 3.12 and how they can be implemented. -
Django News - Django 5.0 Testathon - Sep 29th 2023
News Django Developers Survey 2023 The Django Developers Survey is wrapping up for the year. Please do take a few minutes to fill it out. It is the ONLY way for the Django community to get an unbiased sense of actual usage, which helps guide new features and updates. jetbrains.com Python Developers Survey Numbers for 2022! The results of the sixth official annual Python Developers Survey are now out. blogspot.com Updates to Django As you probably already know, the Django 5.0 alpha is released!!! This means we've now entered a testing period for 5.0 and new features accepted into Django will be part of 5.1. I want to give a massive congratulations to everyone who has been involved in 5.0 - it is a really fantastic release! Last week we had 22 pull requests merged into Django by 11 different contributors - including 4 first time contributors! Congratulations to Toan Vuong, Fabian Braun, Arian and Clément Escolano for having their first commits merged into Django - welcome on board! The final feature of 5.0 was adding support for prefetching GenericForeignKeys via a new class GenericPrefetch. Yet another fantastic feature! You can see an example of how this should be used … -
RTO vs WFH: my default recommendations for remote vs colocated teams
As companies start to roll out so-called “Return to Office” (RTO) policies, I’ve found myself incredibly disappointed by the overwrought, hyperbolic, bad-faith arguments being made by remote work / Work From Home (WFH) proponents. I believe that neither remote work nor colocated work is globally “better”: which one works best is contextual, depending on the role and the needs of the team. In this post I’ll break down how I view that context, and share my “default” recommendations for which teams should be primarily remote, and which benefit from a shared physical space. -
Weeknotes (2023 week 39)
Weeknotes (2023 week 39)Again a few weeks have passed since the last weeknotes entry :-) Moving feincms3 repositories into the feincms organization The feincms GitHub organization has seen more active days when FeinCMS 1.x was still actively developed. Since my interest has moved to feincms3 some years ago I haven’t kept the organization up to date. That has changed this week, and I have moved most feincms3-related repositories into the organization. This move doesn’t change much though, but it certainly feels more official now. Adding scheduled tests I have started using the cronjob schedule feature of GitHub actions to ensure that tests run at least once a month in a few important projects. I want to get notified of changes in Django@main affecting my packages not only when actively working on them. I try to keep up with Django@main in all packages I maintain. Releases feincms3-sites 0.18.2: Many releases in the last weeks. Stopped using permanent redirects in DEBUG mode. Avoid migrations when Django adds more languages. Added utilities which allow restricting model relations to objects in the same site (trickier than it sounds). Added utilities for building full URLs to other sites without taxing the database as much. feincms3-language-sites … -
Deploy to Heroku - Building SaaS #171
In this episode, we did the work to deploy the site to Heroku to make the site live. We configured the production site, fixed some missing settings, and connected to the relevant DNS configuration. -
Deploy to Heroku - Building SaaS with Python and Django #171
In this episode, we did the work to deploy the site to Heroku to make the site live. We configured the production site, fixed some missing settings, and connected to the relevant DNS configuration. -
Django News - Django 5.0 alpha 1 released - Sep 22nd 2023
News Django 5.0 alpha 1 released Django 5.0 alpha 1 is now available. It represents the first stage in the 5.0 release cycle and is an opportunity for you to try out the changes coming in Django 5.0. There are many new exciting features, which you can read about in the in-development 5.0 release notes. djangoproject.com Python Release Python 3.12.0rc3 Python 3.12.0rc3 "is the absolutely last release preview" for Python 3.12. python.org Updates to Django There was a big push to get as many PRs as possible in before the 5.0 feature freeze deadline and so last week we had a massive 22 pull requests merged into Django by 13 different contributors - including 7 first time contributors! Congratulations to Rinku Chaudhari, Anvansh, Lemuel Sta Ana, michele, puc_dong, Yves Weissig and Sam Toyer for having their first commits merged into Django - welcome on board! Some of the final features added to 5.0 were: The main admin content area is now rendered in a <main> tag instead of <div> (#34833) and it's header in a <header> tag instead of <div> (#34832) which improves accessibility. Functions decorated with functools.lru_cache can be serialized in migrations without the need to write a custom …