曦远 (DealiAxy)一份私人的文字刊物

StarBlog
返回文章列表折页手记阅读全文
Django

Is Django Outdated? Reflections from ASGI to the AI Era

Django outdated? It's just that the technology trends have changed, and its shortcomings in asynchronous support are even more apparent in the AI era. No matter how stable the ecosystem engineering is, it can't withstand the impact of lightweight frameworks and ASGI. Should independent developers start considering new options?

曦远 (DealiAxy)约 10 分钟
目录5 个章节

Foreword

This article was originally just a thought in the blog post for the new release of DjangoStarter v3.2.1, but as I wrote more and more, I decided to split it into a separate article. 😄


"Is Django outdated?"

This is a question that can almost be seen daily on forums, Reddit, or Zhihu.

But upon closer thought, the underlying issue behind this question is not that "Django has become bad," but rather that technological trends have changed.

Async Pain Points

In summary, Django's biggest issue isn't performance—it's its poor support for asynchronous operations, a limitation that becomes even more pronounced in the AI era. WSGI seems truly outdated; large model streaming requires SSE, and real-time collaboration/conversations require WebSocket. In this regard, Django is indeed at a disadvantage.

While Django can use ASGI servers like Daphne from the Python ecosystem, the fact that Django ORM still doesn't support asynchronous operations as of 2025 makes development painfully cumbersome.

Although Django can handle asynchronous communication using Channels + Daphne, the overall development experience is far from smooth. I've encountered these pitfalls before; for reference: Using Django-Channels for WebSocket Communication + Large Model Conversations.

Ecosystem and Engineering

But this does not mean Django is outdated. On the contrary, Django's value remains irreplaceable:

  • Mature ecosystem: Almost any functionality has a pre-built solution ("reinventing the wheel")—authentication, admin panels, permissions, payments, etc.
  • Well-established engineering practices: From project structure to configuration, from security to ORM, Django has already thought it through for you.
  • Proven over time: Companies like Instagram and YouTube still use it, demonstrating its reliability.

Over the years, Django has built up a vast ecosystem and accumulated excellent engineering practices.

There's a saying that "any Python web project will eventually evolve to resemble Django."

This isn't an exaggeration—when a project scales, you'll realize Django's approach is actually the most stable.

This clearly demonstrates Django's strengths in developing large-scale projects, further backed by its adoption in products like Instagram and YouTube.

New Challenges in the AI Era

However, from the perspective of independent developers or AI-native applications, Django's shortcomings become more pronounced:

  • Real-time capability: Large language model interactions inherently rely on SSE/WebSocket. Django can handle this, but it's not built-in natively.
  • Lightweight nature: Frameworks like Next.js and FastAPI are better suited to the approach of "full-stack integration + async-first."
  • Trial-and-error cost: Starting a complete project with Django involves higher costs and is less flexible compared to lightweight frameworks.

Therefore, for me, while DjangoStarter will continue to be maintained, I may not prioritize Django for my future new products.

Conclusion

Django is not outdated; it remains an extremely robust choice.

  • If you are part of an enterprise team working on a medium-to-large, long-term maintenance project: Django is still a top-tier framework;
  • If you are an independent developer aiming for rapid iteration and exploring AI-native applications: you may need to consider alternatives like LiteStar, Next.js, etc.

The final choice of framework depends on your project type and goals.

For me, Django is no longer my first choice, but it will always be the most reliable old companion in my toolbox.

_EOF_

Is Django Outdated? Reflections from ASGI to the AI Era

本文作者:
程序设计实验室
版权声明:
本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

相关文章

Django+Logging:日志记录配置与使用方法

前言 日志在程序开发中是少不了的,通过日志我们可以分析到错误在什么地方,有什么异常。在生产环境下有很大的用途。在Java开发中通常用log4j,logback等第三方组件。那么在django中是怎么处理日志?django利用的就是Python提供的logging模块,但django中要用logging,还得有一定的配置规则,需要在setting中设置。 Logging模块 Logging模块为应用

2022-04-02 · Django · 约 1 分钟

一小时完成后台开发:DjangoRestFramework开发实践

DjangoRestFramework开发实践 在这之前我写过一篇关于Django与Drf快速开发实践的博客,Django快速开发实践:Drf框架和xadmin配置指北,粗略说了一下Drf配置和基本使用,不过里面只是涉及到最基本的CRUD,在正常的后端开发中涉及的诸如认证和权限、消息队列、缓存之类的操作,上一篇博客并没有涉及,这次开发我仔细了看了官方文档的这几个部分,把这部分的功能完善了起来。 D

2021-12-18 · Django · 约 1 分钟

讨论

共 0 条

良言一句三冬暖,恶语伤人六月寒。

加载评论中…