Django の CMS で使ったことがないものを使って見ようと思いました。
Mezzanine - The Best Django CMS 以外だと、django-cms
か、wagtail
が使われていそうです。
個人的に、wagtail
のほうが勢いがありそうに思われたので wagtail
をインストールしてみました。
インストールしてみた結果を記載します。
前提
以下の環境でインストールを実施しています。
-
OS
% sw_vers ProductName: Mac OS X ProductVersion: 10.13.1 BuildVersion: 17B1003
-
Python の Version
% python3 -V Python 3.6.2
インストールして、runserver で起動する
-
wagtail のインストール
python3 -m pip install wagtail --user ---------------------------------------------------------- Installing collected packages: wagtail Successfully installed wagtail-1.13.1 ----------------------------------------------------------
-
wagtail プロジェクトの作成
wagtail start mysite ---------------------------------------------------------- Creating a Wagtail project called mysite Success! mysite has been created ----------------------------------------------------------
-
migration を実行
結構な数のmigration が実行されます。cd mysite python3 manage.py migrate ---------------------------------------------------------- Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying wagtailcore.0001_squashed_0016_change_page_url_path_to_text_field... OK Applying wagtailcore.0017_change_edit_page_permission_description... OK Applying wagtailcore.0018_pagerevision_submitted_for_moderation_index... OK Applying wagtailcore.0019_verbose_names_cleanup... OK Applying wagtailcore.0020_add_index_on_page_first_published_at... OK Applying wagtailcore.0021_capitalizeverbose... OK Applying wagtailcore.0022_add_site_name... OK Applying wagtailcore.0023_alter_page_revision_on_delete_behaviour... OK Applying wagtailcore.0024_collection... OK Applying wagtailcore.0025_collection_initial_data... OK Applying wagtailcore.0026_group_collection_permission... OK Applying wagtailcore.0027_fix_collection_path_collation... OK Applying wagtailcore.0024_alter_page_content_type_on_delete_behaviour... OK Applying wagtailcore.0028_merge... OK Applying wagtailcore.0029_unicode_slugfield_dj19... OK Applying wagtailcore.0030_index_on_pagerevision_created_at... OK Applying wagtailcore.0031_add_page_view_restriction_types... OK Applying wagtailcore.0032_add_bulk_delete_page_permission... OK Applying wagtailcore.0033_remove_golive_expiry_help_text... OK Applying wagtailcore.0034_page_live_revision... OK Applying wagtailcore.0035_page_last_published_at... OK Applying wagtailcore.0036_populate_page_last_published_at... OK Applying wagtailcore.0037_set_page_owner_editable... OK Applying wagtailcore.0038_make_first_published_at_editable... OK Applying wagtailcore.0039_collectionviewrestriction... OK Applying wagtailcore.0040_page_draft_title... OK Applying home.0001_initial... OK Applying home.0002_create_homepage... OK Applying sessions.0001_initial... OK Applying taggit.0001_initial... OK Applying taggit.0002_auto_20150616_2121... OK Applying wagtailadmin.0001_create_admin_access_permissions... OK Applying wagtaildocs.0001_initial... OK Applying wagtaildocs.0002_initial_data... OK Applying wagtaildocs.0003_add_verbose_names... OK Applying wagtaildocs.0004_capitalizeverbose... OK Applying wagtaildocs.0005_document_collection... OK Applying wagtaildocs.0006_copy_document_permissions_to_collections... OK Applying wagtaildocs.0005_alter_uploaded_by_user_on_delete_action... OK Applying wagtaildocs.0007_merge... OK Applying wagtailembeds.0001_initial... OK Applying wagtailembeds.0002_add_verbose_names... OK Applying wagtailembeds.0003_capitalizeverbose... OK Applying wagtailforms.0001_initial... OK Applying wagtailforms.0002_add_verbose_names... OK Applying wagtailforms.0003_capitalizeverbose... OK Applying wagtailimages.0001_initial... OK Applying wagtailimages.0002_initial_data... OK Applying wagtailimages.0003_fix_focal_point_fields... OK Applying wagtailimages.0004_make_focal_point_key_not_nullable... OK Applying wagtailimages.0005_make_filter_spec_unique... OK Applying wagtailimages.0006_add_verbose_names... OK Applying wagtailimages.0007_image_file_size... OK Applying wagtailimages.0008_image_created_at_index... OK Applying wagtailimages.0009_capitalizeverbose... OK Applying wagtailimages.0010_change_on_delete_behaviour... OK Applying wagtailimages.0011_image_collection... OK Applying wagtailimages.0012_copy_image_permissions_to_collections... OK Applying wagtailimages.0013_make_rendition_upload_callable... OK Applying wagtailimages.0014_add_filter_spec_field... OK Applying wagtailimages.0015_fill_filter_spec_field... OK Applying wagtailimages.0016_deprecate_rendition_filter_relation... OK Applying wagtailimages.0017_reduce_focal_point_key_max_length... OK Applying wagtailimages.0018_remove_rendition_filter... OK Applying wagtailimages.0019_delete_filter... OK Applying wagtailredirects.0001_initial... OK Applying wagtailredirects.0002_add_verbose_names... OK Applying wagtailredirects.0003_make_site_field_editable... OK Applying wagtailredirects.0004_set_unique_on_path_and_site... OK Applying wagtailredirects.0005_capitalizeverbose... OK Applying wagtailsearch.0001_initial... OK Applying wagtailsearch.0002_add_verbose_names... OK Applying wagtailsearch.0003_remove_editors_pick... OK Applying wagtailusers.0001_initial... OK Applying wagtailusers.0002_add_verbose_name_on_userprofile... OK Applying wagtailusers.0003_add_verbose_names... OK Applying wagtailusers.0004_capitalizeverbose... OK Applying wagtailusers.0005_make_related_name_wagtail_specific... OK Applying wagtailusers.0006_userprofile_prefered_language... OK ----------------------------------------------------------
-
superuser を作成
python3 manage.py createsuperuser
-
runserver でサーバーを起動
python3 manage.py runserver
-
INDEXページ
サーバー起動後、http://127.0.0.1:8000/
にアクセスすると以下の画面が表示されます。
-
ログインページ
http://127.0.0.1:8000/admin/login/
にアクセスするとログイン画面が表示されます。
日本語化する
mysite/mysite/settings/base.py
を 編集して日本語化します。
このあたりは、Mezzanine の 手順と変わりはなく、LANGUAGE_CODE
と、TIME_ZONE
を設定します。
- base.py
LANGUAGE_CODE = 'ja' TIME_ZONE = 'Asia/Tokyo'
上記設定後、再起動して、http://127.0.0.1:8000/admin/login/
にアクセスすると、以下の通り、メニューが日本語で表示されます。
ログイン画面のURLを変更する
デフォルトだと、/admin/login/
に マッピングされています。
外部公開時は、あまりわかりやすい URL だと不正アクセスの原因になるので、変更します。
また、django の Admin の url も デフォルトでマッピングされていますので、これも変更します。
mysite/mysite/urls.py
urlpatterns = [ #url(r'^django-admin/', include(admin.site.urls)), url(r'^admin/django-admin/', include(admin.site.urls)), #url(r'^admin/', include(wagtailadmin_urls)), url(r'^admin/admin/', include(wagtailadmin_urls)),
wagtail プロジェクト のアプリケーション構成について
wagtail start
でプロジェクトを作成すると、以下の構成でアプリケーションが作成されます。
mysite
|
|------mysite
|------home
|------search
mysite
配下には、設定ファイルと、規定ページテンプレートが格納されており、search
は検索画面のアプリケーションの雛形、home
はフロントページのアプリケーション雛形になります。 雛形はページのタイトルくらいしか表示できないため、ここからModel や、テンプレートを編集してページを作るか、別途 plugin をインストールして、plugin ベースで Web ページを作成していくことになります。wagtail 自体が提供するのは、バックオフィスにあたるコンテンツ投稿機能、投稿のワークフローの機能提供が主のようです。
各種 plugin は springload/awesome-wagtail: A curated list of awesome packages, articles, and other cool resources from the Wagtail community. に記載があり、Blog 用途の plugin もあるので、wagtail で Blog 構築するならここから、選んで インストールすることになるのかなと思いました。
以上です。
コメント