Skip to content

Instantly share code, notes, and snippets.

@knzm
Last active August 18, 2020 06:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save knzm/3aea8a30abbb642312033520b1d1874e to your computer and use it in GitHub Desktop.
Save knzm/3aea8a30abbb642312033520b1d1874e to your computer and use it in GitHub Desktop.

django-cms ライブラリ調査資料

Chapter. 1 使用ライブラリ調査

1-1. django-cms を djangocms-installer でインストールした場合にインストールされるライブラリ一覧

django 関連

  • django
  • django-classy-tags
  • django-formtools
  • django-js-asset
  • django-mptt
  • django-polymorphic
  • django-sekizai
  • django-treebeard

django-cms 関連

  • django-cms
  • djangocms-admin-style
  • djangocms-attributes-field
  • djangocms-icon
  • djangocms-snippet
  • djangocms-style
  • djangocms-text-ckeditor
  • djangocms-bootstrap4

django-filer 関連

  • django-filer
  • djangocms-file
  • djangocms-picture
  • djangocms-video
  • djangocms-link
  • djangocms-googlemap

その他、一般的なライブラリ

  • asgiref
  • easy-thumbnails
  • html5lib
  • pillow
  • pytz
  • six
  • sqlparse
  • unidecode
  • webencodings

1-2. django-cms-dbtemplates を pip でインストールした時にインストールされるライブラリ一覧

django, django-cms 関連

  • django ※ 1.4.22
  • South
  • django-admin-extend ※ fork 版 [1]
  • django-appconf
  • django-classy-tags
  • django-mptt
  • django-sekizai
  • djangotoolbox
  • django-dbtemplates ※ fork 版 [2]
  • django-cms ※ fork 版 [3]
  • django-cms-dbtemplates

その他、一般的なライブラリ

  • html5lib
  • python-graph-core
  • six
  • webencodings

[1] http://github.com/pbs/django-admin-extend

[2] http://github.com/pbs/django-dbtemplates

[3] http://github.com/pbs/django-cms

Chapter. 2 ライブラリ概要

  • django-filer

  • django-admin-extend

  • django-appconf

  • django-sekizai

  • django-mptt

  • django-polymorphic

  • django-treebeard

  • django-dbtemplates

    • https://github.com/jazzband/django-dbtemplates
    • Description: Template loader for templates stored in the database
    • テンプレートをデータベースから読み込む機能を提供。 django-reversion との連携機能あり。 django 3.0 だとエラーが出るが master では修正されている。
  • django-dbtemplate

    • https://github.com/subuk/django-dbtemplate
    • Description: Allow to override templates from admin interface
    • テンプレートをデータベースから読み込む機能を提供。最終コミットが 2015年6月とかなり古い。
  • django-reversion

    • https://github.com/etianen/django-reversion
    • Description: An extension to the Django web framework that provides version control for model instances.
    • 保存時のスナップショットを別テーブルに保存することでバージョン管理を導入する。管理画面を拡張してバージョン履歴の表示や復元機能を追加。ミドルウェアを有効にすると、自動的にすべてのモデルでバージョン管理機能が有効になる。
  • django-draft

    • https://github.com/platypus-creation/django-draft
    • Description: Drafts for django admin
    • 管理画面に下書きを保存する機能を提供。下書きのデータは元のモデルとは独立した単一のテーブルに保存される。
  • django-draft-model

    • https://github.com/OmegaDroid/django-draft-model
    • Description: なし
    • デコレータで指定したモデルの挙動が変更されて save() が下書き保存になり、 publish() で実際の変更が行われる。裏で対応する draft 用のモデルが定義される。
  • django-publishable

    • https://github.com/Ilyes-Hammadi/django-publishable
    • Description: A simple Django app to add draft/publish capabilities to your models.
    • モデルのベースクラス Publishable, Publisherを提供。 Publishable を継承したモデルでは、下書きと公開中の記事が同じテーブルに混在する。
  • django-light-draft

  • django-pubtools

    • https://github.com/gregplaysguitar/django-pubtools
    • Description: A set of reusable base classes and helpers for django
    • 記事に状態フィールドを定義して公開前の記事をプレビューするためのベースクラス AbstractPublishableModelと PublishableModelAdminMixin を提供。記事の取る状態は (Draft, Preview, Published) の3つ。
  • django-easymode

    • https://github.com/specialunderwear/django-easymode

    • Description: Quickly build backends for flash/flex websites with django

    • かつて django-reversion を利用して下書き機能を実現していたが現在は削除されている。そのときのコミットログ (4ca6b65):

      “Because it had too deep dependencies on reversion, which is turn has to deep dependencies on some code inside the django admin, easypublisher has been removed. Maybe I will make it available as a separate project later on.”

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment