返回文章列表文章索引阅读全文
STARBLOG / 阅读手记
DjangoStarter

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.

曦远 (DealiAxy)约 21 分钟
目录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:

  1. Why has something like django-compressor become a burden?
  2. 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-compressor introduce 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

(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.

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:

  1. 🧹 Removed complex dependencies, making the project lighter.
  2. 🕒 Added model history tracking for easier data traceability.
  3. 📘 Comprehensive documentation upgrade, clearer AI-native scenarios.

Below are the detailed contents.

✨ Features

  • 🕒 Model Historical Tracking: Introduced django-simple-history to add history tracking functionality to all models, supporting data change auditing and traceability.
  • 📊 Admin Enhancement: Enabled SimpleHistoryAdmin support for the Movie and Actor models, and added a new demo_seed command for generating demo data.

🐞 Bug Fixes

  • ⚙️ Fixed static file path configuration to ensure the compressor configuration works correctly in different environments.

♻️ Refactor

  • 👤 User Management: Refactored UserProfile management logic, migrated user profile creation from signals to inline management, and added anti-duplication InlineFormSet.
  • 🗑️ Dependency Cleanup: Removed django-compressor and 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 to 22
  • 🔒 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 许可协议。转载请注明出处!

相关文章

讨论

共 0 条

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

加载评论中…

DjangoStarter v3.2.1 update: framework trimming and direction reflection · StarBlog