*

Django上で動くCMS Mezzanine 用のモジュールを作ってみる その1

公開日: : CMS, Django, Python, プログラミング

Django上で動くCMS Mezzanine上で動く、モジュールを作っていきます。
Mezzanineのインストール方法についてはこちらを見て下さい。

Djangoのチュートリアルで紹介されているpollsアプリをMezzanine用のモジュールにしていきます。

Polls アプリケーションの雛形を作る

$ cd mezzanine-project <- mezzanineプロジェクトを作ったディレクトリ
$ python manage.py startapp polls

生成されたディレクトリとファイルは以下のとおり

polls
├── __init__.py
├── admin.py
├── apps.py
├── migrations
├── models.py
├── templates
├── tests.py
├── urls.py
└── views.py

Djangoのアプリとしてconfig/settings.pyに登録する

config/settings.py内の INSTALLED_APPS配列に登録します。

INSTALLED_APPS = (
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.redirects",
    "django.contrib.sessions",
    "django.contrib.sites",
    "django.contrib.sitemaps",
    "django.contrib.staticfiles",
    "mezzanine.boot",
    "mezzanine.conf",
    "mezzanine.core",
    "mezzanine.generic",
    "mezzanine.pages",
    "mezzanine.blog",
    "mezzanine.forms",
    "mezzanine.galleries",
    "mezzanine.twitter",
    "polls", <- 最後尾に追加
)

モデルを作る

models.pyを以下のように編集します。

from django.db import models
from django.utils.translation import ugettext as _
from django.contrib.auth.models import User

from mezzanine.pages.models import Page

class MyPoll(Page):

    def __unicode__(self):
        return u'%s' % (self.title, )

    class Meta:
        verbose_name = _('MyPoll')


class MyChoice(models.Model):
    poll = models.ForeignKey('MyPoll')
    text = models.CharField(max_length=256)

    def __unicode__(self):
        return u'\'%s\' in Poll \'%s\'' % (
            self.text,
            self.poll.title
        )


class MyVote(models.Model):
    choice = models.ForeignKey('MyChoice')
    user = models.ForeignKey(User)

    def __unicode__(self):
        return u'Vote by %s for Choice \'%s\' in Poll \'%s\'' % (
            self.user,
            self.choice.text,
            self.choice.poll.title
        )

データベースのテーブルを生成する

以下のコマンドを実行して、モジュールとしての登録と、データベース テーブルの生成、登録を行います。

$ python manage.py makemigrations polls
$ python manage.py sqlmigrate polls 0001 ← 前のコマンドの出力結果を見て 指定する 
$ python manage.py migrate

次のエントリーでは具体的な画面作成の手順を説明します。

関連記事

iOSプログラミングのキモ(行き当たりばったりなプログラミングでも、何とか形にするために守っていること その1)

FileQ iOS版がリリースされて、のんびりしたい気持ちもありますが、FileQ Android版

記事を読む

ホーム Mezzanine

Django上で動くCMS Mezzanine を インストールする MacOSX Yesemite 編

Mezzanineは Django WEBフレームワーク上で動くCMSの一つです。 WordPre

記事を読む

母校で特別 講義をやってきました。

少し 間が空いてしまいました(^_^;) ちょっと前になりますが、4月末に 同級生で 現在 母

記事を読む

iOSプログラミングのキモ(行き当たりばったりなプログラミングでも、何とか形にするために守っていること その2)

先週に引き続き、今週も文字中心のエントリーです、今回は 下記3つのことを書いていきます。 M

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

FileQ Hosting 月額99円 容量1GB


サイト管理 Mezzanine
Django上で動くCMS Mezzanine 用のモジュールを作ってみる その1

Django上で動くCMS Mezzanine上で動く、モジュールを作

ホーム Mezzanine
Django上で動くCMS Mezzanine を インストールする MacOSX Yesemite 編

Mezzanineは Django WEBフレームワーク上で動くCMS

EclipseにGWT(Google Web Toolkit) Plugin for Eclipseを入れようとしてハマった

最近PHPでちょっとした業務システムを作りました。業務システムの特徴と

ブログを半年やった成果を Google Analytics から眺める

今年の1月からブログを書き始め、そろそろ半年が経とうとしています。

母校で特別 講義をやってきました。

少し 間が空いてしまいました(^_^;) ちょっと前になりますが

→もっと見る

mautic is open source marketing automation
PAGE TOP ↑