<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/django-what-s-new-in-6-0-wt0msjldj" -->

---
title: Django: what’s new in 6.0 | daily.dev
description: Django 6.0 introduces template partials for reusable template fragments (especially useful with htmx), a built-in tasks framework for background job...
canonical: https://daily.dev/posts/django-what-s-new-in-6-0-wt0msjldj
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Django: what’s new in 6.0 | daily.dev
og:description: Django 6.0 introduces template partials for reusable template fragments (especially useful with htmx), a built-in tasks framework for background job...
og:url: https://daily.dev/posts/django-what-s-new-in-6-0-wt0msjldj
og:image: https://api.daily.dev/og/posts/Wt0MSJLDj.png
og:image:alt: Django: what’s new in 6.0
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Django: what’s new in 6.0

**[Adam Johnson](https://daily.dev/sources/adamj)** · 26 min read · 0 upvotes · 0 comments

## Summary

Django 6.0 introduces template partials for reusable template fragments (especially useful with htmx), a built-in tasks framework for background job processing, native Content Security Policy support with automatic nonce generation, and modernized email handling using Python's newer email API. Additional improvements include universal StringAgg aggregate across all databases, BigAutoField as the default primary key type to prevent exhaustion issues, dynamic field refresh after save operations using RETURNING clauses, and various template and ORM enhancements.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://adamj.eu/tech/2025/12/03/django-whats-new-6.0/>

## Similar posts on daily.dev

- [Django Releases Version 6.0 with Built-In Background Tasks and Native CSP Support](https://daily.dev/posts/django-releases-version-6-0-with-built-in-background-tasks-and-native-csp-support-7zemvasml) · InfoQ · 0 upvotes · 0 comments
- [Django 6.0 released\!](https://daily.dev/posts/django-6-0-released--hlksa4vxz) · Django News · 0 upvotes · 0 comments
- [Django tutorial: Get started with Django 6](https://daily.dev/posts/django-tutorial-get-started-with-django-6-h05qphcbb) · InfoWorld · 1 upvotes · 0 comments
- [Django 6.0 Tasks: a framework without a worker](https://daily.dev/posts/django-6-0-tasks-a-framework-without-a-worker-rgxw7co98) · Planet Python · 1 upvotes · 0 comments

---

Tags: [#security](https://daily.dev/tags/security), [#webdev](https://daily.dev/tags/webdev), [#python](https://daily.dev/tags/python), [#django](https://daily.dev/tags/django), [#htmx](https://daily.dev/tags/htmx)

[View this post on daily.dev](https://daily.dev/posts/django-what-s-new-in-6-0-wt0msjldj)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Django: what’s new in 6.0","url":"https://daily.dev/posts/django-what-s-new-in-6-0-wt0msjldj","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/django-what-s-new-in-6-0-wt0msjldj"},"datePublished":"2025-12-03T23:15:33.319Z","dateModified":"2026-02-27T15:56:12.513Z","description":"Django 6.0 introduces template partials for reusable template fragments (especially useful with htmx), a built-in tasks framework for background job...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/c7660d093452055e507915fae564b808?_a=AQAEulh","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/c7660d093452055e507915fae564b808?_a=AQAEulh","isAccessibleForFree":true,"articleSection":"Adam Johnson","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Adam Johnson","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/bf70f4401c284aa5b628d1966029342c","url":"https://daily.dev/sources/adamj"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/django-what-s-new-in-6-0-wt0msjldj","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"security,webdev,python,django,htmx","timeRequired":"PT26M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Adam Johnson","item":"https://daily.dev/sources/adamj"},{"@type":"ListItem","position":3,"name":"Django: what’s new in 6.0"}]}
```

