2019年3月1日金曜日

django のテンプレートだけ使う

文献リストのHTML生成を以前からdjangoのテンプレートだけ使ってでやっていたのだけど、 Python2 系から 3系にあげて、djangoのバージョンを上げたら動かなくなってしまったので、 再調査して実現。こういうのを技術的負債というのだろう。

普通djangoはWebフレームワークとして初期化されるのだけど、 テンプレートエンジンだけ使おうとすると、本来通るべき初期化の部分を通らないので、 いろいろ自前でやらなければならない、ということ。

基本的には、

  • 設定ファイルをpythonコードとして書き
  • それを環境変数 DJANGO_SETTING_MODULE に指定してpythonを起動
すればいい。

設定ファイルはこんな感じ。SECRET_KEYは適当に設定しないと文句を言われる。。

import django
SECRET_KEY = '01234567890123456789012345678901234567890123456789'
django.setup()

DEBUG = True

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'APP_DIRS': True,
    },
]

0 件のコメント: