牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

勝手にチュートリアル4.3 flatpagesでページ作成

Djangoドキュメントチュートリアルその4の続きを勝手にやってみた第3回。
常山日記さんの記事を参考に、Djangoのflatpagesでトップページを作って見る。

まずはsetting.pyから

INSTALLED_APPSに、django.contrib.flatpagesを追加。

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.admin',
    #これを追加
    'django.contrib.flatpages',
)

MIDDLEWARE_CLASSESの最後に 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware を追加。
必ず最後にいれる。

MIDDLEWARE_CLASSES = (
   'django.middleware.common.CommonMiddleware',
   'django.contrib.sessions.middleware.SessionMiddleware',
   'django.contrib.auth.middleware.AuthenticationMiddleware',
   'django.middleware.doc.XViewMiddleware',
    #これを追加
   'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
)

設定してあると思うけど、一応TEMPLATE_DIRのパスを確認。

import os
BASE_PATH = os.path.dirname(__file__ )

TEMPLATE_DIRS = (
    os.path.join(BASE_PATH, 'templates'),
)

default.htmlを作成する

ルート/templateにflatpagesディレクトリを作成し、その中にdefault.htmlファイルを作り下記を入力。

{% extends "base.html" %}
{% block title %}{{ flatpage.title }}{% endblock %}

{% block main %}

{{ flatpage.content }}

{% endblock %}

python manage.py runserverで仮サーバを立ち上げて
http://127.0.0.1:8000/admin
に入ると管理画面にFlatpagesが表示されてるはず。
Flatpagesの追加ボタンを押して、
URL『/』
タイトルはとりあえず『トップページ』
内容はとりあえず適当にいれてみる。

<h2>ようこそ</h2>
<h3>Djangoのflatpagesで作ったトップページです。</h3>

Sitesはよくわからないので、とりあえずexample.comを選択して保存。

できた(゚Д゚)

http://127.0.0.1:8000/でトップページを確認
Django触ってから初めての無問題。
びっくり感動。
すごいなflatpages、っていうかDjango

調子に乗って、新しいページを追加してみる。

admin管理画面でまたflatpagesから追加。
とりあえずabout画面つくってみる。
URL:『/about/』
タイトル『ABOUT』
内容:『何か適当にほにゃらららと書き込む』
Sitesは、またとりあえずexample.comを選択して保存。


前々回あたりに作ったbase.htmlのメニュー部分に下記を追加する。

          <li><a href="/about/" title="ABOUT"><span class="num">03.</span>ABOUT;</a></li>

webサイトっぽくなってきた。