Mezzanine環境でDjangoチュートリアルやってみた

スポンサーリンク

Djangoのチュートリアルをやって、Mezzanineと並列のアプリとして組み込んでみた。入門編としてよく知られているものを2通り。デモページも実際に動いている。

Djangoのチュートリアルは大体がDjango 2.x系での実装を前提にコーディングされているが、Mezzanineと同じ環境で動かそうとするとDjango 1.x系の環境で動かすことになる。主な違いはurls.pyまわりで、importすべきライブラリと、使う関数がpath()かurl()なのかという点が異なる。次のようなコードで共通化した。

from django.contrib import admin

try:
    # Djando 2.x系
    from django.urls import path, include

    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', include('blog.urls')),
    ]

except ImportError:
    # Djando 1.11.x系
    from django.conf.urls import include, url

    urlpatterns = [
        url(r'^admin/', include(admin.site.urls)),
        url(r'', include('blog.urls')),
    ]

url()を使う場合は正規表現の書き方がpath()とは異なるので注意が必要。

urls.py以外ではMezzanineのメインプロジェクトのsettings.pyにアプリ名を登録するくらいで、あとはチュートリアルのアプリ部分をフォルダーごとMezzanineプロジェクトの中に置けば動作した。

コメント

タイトルとURLをコピーしました