Scripts2026年5月25日·1 分钟阅读

Django CMS — Enterprise Content Management on Django

Django CMS is an open-source content management system built on the Django web framework, providing in-place editing, plugin architecture, and multi-site support for content-driven websites.

Agent 就绪

Agent 可直接安装

这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
Django CMS Overview
直接安装命令
npx -y tokrepo@latest install 60bf7920-5837-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run 确认安装计划,再运行此命令。

Introduction

Django CMS extends the Django web framework with a full content management layer. It lets editors create and arrange content directly on the page using a visual toolbar, while developers retain full access to Django templates, models, and the admin interface.

What Django CMS Does

  • Provides a drag-and-drop page editor with live preview
  • Supports a plugin system for text, images, video, and custom content blocks
  • Manages multi-language content with per-language page trees
  • Offers versioning and publishing workflows with draft and live states
  • Enables multi-site management from a single Django installation

Architecture Overview

Django CMS adds a page model layer on top of Django, linking each URL to a tree of placeholder regions. Placeholders hold ordered lists of plugins, each rendering its own template fragment. The toolbar and editing UI are injected into the frontend via middleware. Content changes go through a draft-live workflow, and the system integrates with Django permissions for role-based access.

Self-Hosting & Configuration

  • Install via pip: pip install django-cms or use djangocms-installer for scaffolding
  • Add cms and required apps to INSTALLED_APPS in Django settings
  • Run migrations: python manage.py migrate
  • Configure CMS_TEMPLATES to map page templates to placeholder regions
  • Use CMS_LANGUAGES for multi-language site configuration

Key Features

  • Frontend editing lets non-technical users manage content without the admin panel
  • Plugin architecture is extensible with custom Django models and templates
  • Page tree with drag-and-drop reordering and nested navigation
  • Built-in support for content versioning and approval workflows
  • Integrates with any Django app or third-party package

Comparison with Similar Tools

  • Wagtail — Streamlined admin-side editing; Django CMS emphasizes in-page frontend editing
  • WordPress — PHP-based with a larger ecosystem; Django CMS leverages Python and Django conventions
  • Strapi — Headless CMS with API-first design; Django CMS serves rendered pages by default
  • Directus — Database-first headless CMS; Django CMS is framework-first with ORM integration

FAQ

Q: Can I use Django CMS as a headless CMS? A: Yes. Use the django-cms REST API or GraphQL plugins to serve content to decoupled frontends.

Q: How do I create a custom plugin? A: Define a Django model, a plugin class extending CMSPluginBase, and a template. Register it with plugin_pool.register_plugin().

Q: Does Django CMS support multi-tenancy? A: Yes. Multi-site support is built in using Django Sites framework, with per-site page trees.

Q: What Python versions are supported? A: Django CMS follows Django release support. Check the compatibility matrix in the documentation for specific versions.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产