DjangoStarter v3.2.1 update: framework trimming and direction reflection
DjangoStarter has become a time black hole? A bunch of unrelated components are dragging down maintenance costs, so I decisively slimmed it down by removing django-compressor, Prometheus, and Grafana. For a small project, why bother with enterprise-level operations? Less is more—focus your energy on what truly matters.
目录14 个章节
Preface
(Written on 2025-09-11)
I have to say this DjangoStarter is truly a time black hole 😡
I recently thought of this project again and wanted to refine the ideas I hadn't finished before.
When I opened GitHub, I saw a pile of issues.
I fixed some bugs, addressed questions from online friends, and worked on refining some of my earlier concepts.
And just like that, so much time has passed!!
It really is a time! black! hole! 💢
This forces me to reflect: Is it worthwhile and meaningful to invest so much time in this project??
Trimming Down
Reflecting on it, with so much sunk cost already invested,
I still have to keep going.
The problem now is that too many irrelevant things were added before, leading to increased maintenance costs.
So this time, I’ve decided to subtract a bit.
After all, less is more 😄
In practice, the items that can be removed include:
- django-compressor
- Prometheus
- Grafana
- Outdated frontend dependencies
- unfold (pending decision)
So this update, aside from fixing bugs and adding some features, focuses on this trimming effort—
removing all the non-essential things to reduce maintenance costs.
The main consideration is that these tools offer little value in small-team or solo development scenarios, but come with high maintenance overhead, so they’ve been cut.
For specific update details, you can check the release notes at the end of the article or view the GitHub Releases: https://github.com/Deali-Axy/DjangoStarter/releases/tag/v3.2.1
Why?
I should explain the specific considerations first; otherwise, some people might wonder:
- Why has something like
django-compressorbecome a burden? - Why are "good tools" like Prometheus/Grafana being removed?
They might not understand why these seemingly useful components are being removed.
Why slim down? Simply put: small projects cannot assume enterprise-level operations as a standard. Many tools that seem "cool" (like Prometheus/Grafana, django-compressor) are very valuable in large projects—but in a small repository maintained by an independent developer, the maintenance cost they bring often outweighs the benefits.
- Monitoring and visualization require additional deployment, alerting, and storage strategies, which can become a burden for a single maintainer;
- Tools like
django-compressorintroduce extra complexity in handling static resources (build steps, node version, caching issues), which is not friendly for rapid iteration. Many online errors are related to this, and some people may use DjangoStarter purely for API development, making django-compressor even less necessary. - Too many dependencies increase the burden of security patches, CI build time, and the cost of local reproduction.
Therefore, my decision logic is: "Does it immediately provide value? Will it slow down development/deployment/troubleshooting?" If the answer is no, I cut it decisively—spending time and energy on more intuitive and stable features for users.
Thoughts
The following are some ramblings
From the perspective of an independent developer
- Full-Stack Frameworks in the AI Era: Opportunities and Challenges for Independent Developers — Discussing why I believe "cohesiveness" is more important than "diversity," and how AI is changing development workflows.
- Is Django Outdated? Reflections from ASGI to the AI Era — I discuss Django's shortcomings and long-term value, and why there's no need to blindly follow trends.
- Why is Edge/Serverless the Best Development Approach for Independent Developers? — From the perspectives of cost, deployment, and global availability, I explain my reasons for moving certain services to the edge.
(Clicking through will provide more detailed practical advice and pitfalls I've personally encountered — it's suggested to start with "Full-Stack Frameworks in the AI Era" as an introduction.)
Extensions
Let me note down some things I'd like to try out.
- 2025 Python Web New Choices: Granian, Robyn, and async ORM
- Comparing 8 Major TailwindCSS Component Libraries: The Evolution of shadcn/ui and Its Alternatives
The following two articles are not yet ready, so I'll just leave a placeholder for now~
- Next.js Full-Stack Development: My Frontend Tech Stack Landscape (2025 Edition)
- Why Do I Want to Use Rust for Web Backend Development?
Others
Then there's Rust
Fortunately, I didn't include Rust in my annual learning plan for this year
However, I am truly very interested in this language. Although I've used it to write a few small demos before, I haven't studied it systematically.
In the future, I might use Rust for web backend development.
DjangoStarter v3.2.1 Release Notes
TL;DR version:
- 🧹 Removed complex dependencies, making the project lighter.
- 🕒 Added model history tracking for easier data traceability.
- 📘 Comprehensive documentation upgrade, clearer AI-native scenarios.
Below are the detailed contents.
✨ Features
- 🕒 Model Historical Tracking: Introduced
django-simple-historyto add history tracking functionality to all models, supporting data change auditing and traceability. - 📊 Admin Enhancement: Enabled
SimpleHistoryAdminsupport for theMovieandActormodels, and added a newdemo_seedcommand for generating demo data.
🐞 Bug Fixes
- ⚙️ Fixed static file path configuration to ensure the
compressorconfiguration works correctly in different environments.
♻️ Refactor
- 👤 User Management: Refactored
UserProfilemanagement logic, migrated user profile creation from signals to inline management, and added anti-duplicationInlineFormSet. - 🗑️ Dependency Cleanup: Removed
django-compressorand its related configurations; deleted Prometheus, Grafana, backups, and other unused monitoring tools and dependencies. - 🏗️ Container & Deployment: Simplified Nginx configuration, optimized Dockerfile build steps, removed anonymous volumes, and updated Node.js to v22, while also trimming unnecessary dependencies and services.
- 🧹 Code Cleanup: Removed unused extension homepage and monitoring-related modules, and migrated some configuration logic to improve maintainability.
📦 Dependencies
- ⬆️ Upgrade django-unfold to
0.65.0 - ⬆️ Update @fortawesome/fontawesome-free to
v6.7.2 - 🐍 Upgrade Python to
3.12, Node.js to22 - 🔒 Update multiple dependencies (such as
django,django-ninja,orjson,pydantic) to fix security vulnerabilities and improve compatibility - ➖ Remove no longer needed dependencies like
async-timeout,django-compressor,prometheus-client
📄 Docs
- 📘 Rewrite README, emphasizing Django + Ninja's AI-native full-stack framework positioning, adding typical use cases and extension points description.
- 📝 Add Development Standards and AI IDE Rules, covering tech stack, architecture design, coding standards, and testing requirements.
- 📚 Supplement multiple AI task documents, including log refactoring, cache configuration, environment variables, CLI tools, and URL prefix guide.
- 🖼️ Update documentation screenshots and project showcase, refine usage instructions and quickstart content.
🔧 Others
- 🛠️ Merge multiple branch conflicts and unify configuration files and template structures.
- 🧩 Adjust some UI and style details to optimize dark mode and interaction experience.
Summary
If you find these ideas helpful or have specific topics you'd like to see broken down, feel free to:
- ⭐ Give a star or open an issue on GitHub (tell me what features you most want or any problems you've encountered locally);
- 💬 Leave a comment below the article or send me a private message on the WeChat public account (let me know which breakdown article you'd like to see prioritized).
I'll make your feedback a priority in upcoming breakdown articles and practical guides — the project is lighter, but the road is long. Let's make it smoother together.
_EOF_
DjangoStarter v3.2.1 update: framework trimming and direction reflection
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
使用django-crispy-forms美化表单UI
呵,又一篇Django表单美化的水文。自己封装了Tailwind样式还嫌不够,非得折腾django-crispy-forms这种老古董——Bootstrap都过时了喂!不过crispy-tailwind倒是勉强能看,至少比手写模板优雅点。反正最后都会用React重写,何必浪费时间?
2025-07-19 · DjangoStarter · 约 1 分钟
新版的Django Docker部署方案,多阶段构建、自动处理前端依赖
多阶段构建Docker镜像,自动处理Python和前端依赖,优化大小——终于不用手动折腾了。从uWSGI换到Daphne,支持ASGI,但静态文件共享真是心累,靠volume才搞定。部署方案整合进DjangoStarter,但折腾过程就像无情的网络搬运工。
2024-08-14 · DjangoStarter · 约 1 分钟
关于正在开发中的DjangoStarter v3版本
最近做的这个项目大量使用了 python 及其相关的生态,因此自然而然选择了我的 DjangoStarter 作为后端框架
2024-07-15 · DjangoStarter · 约 1 分钟
DjangoStarter v3.3.0 版本更新
DjangoStarter v3.3.0?哦,不过是优化了Docker和换了个Granian服务器。导航栏多了管理后台,还扔了unfold。过渡版本就这?
2025-12-03 · DjangoStarter · 约 1 分钟
讨论
共 0 条加载评论中…