Tips, tutorials, and insights from the DjangoZen community
Exciting new features including enhanced search, improved dashboard, and new payment options are now live.
A complete guide to navigating our digital marketplace, from creating an account to making your first purchase.
Learn how to integrate Stripe payment processing into your Django e-commerce application with webhooks, subscriptions, and error handling.
The message sends, the log says accepted, and the user never sees it. Why receiving servers distrust you, the three records that fix most of it, and the alignment rule people miss.
Everything worth verifying before a Django site takes real traffic, grouped by what it protects: settings, security headers, the database, backups, mail, and the checks people skip.
Containers are the default answer and not always the right one. What each approach actually gives you, what it costs, and how to choose based on your situation rather than fashion.
One is the established standard with an answer for everything; the other is smaller, faster to write and built around type hints. An honest comparison, including when to stay put.
Both run Django in production and they are not interchangeable. What synchronous and asynchronous servers actually do differently, and a straight answer for the common cases.
The site works locally and arrives in production without CSS. Why DEBUG changes everything about static files, and the five reasons they stop being served.
Connection refused, password authentication failed, too many connections, SSL required — the five PostgreSQL errors Django surfaces most often, what each one really means, and the fix.
The 403 that appears after a deploy, behind a proxy, or on a login form. What CSRF protection does, the six real causes of the failure, and why disabling it is never the answer.
You deployed, opened the site, and Django returned a 400 with DisallowedHost. Here is what the error actually means, why it exists, and the three ways people get it wrong.