LoginSignup
9
8

More than 5 years have passed since last update.

Djangoのsettings.pyで設定した定数をテンプレートに出力する方法

Last updated at Posted at 2016-04-19

やりたいこと

  • サイト全体で共通の文言をどのページでも表示したい。
  • テンプレートをincludeするのではなく、settings.pyに定数(のように)定義しておいて表示したい。
  • 要は、デプロイ環境によって変化させたい。

手順

app_dir/context_processors.py を作成

※settings.pyと同じディレクトリ

from django.conf import settings

def site_common_text(request):
    return {'SITE_COMMON_TEXT': settings.SITE_COMMON_TEXT}

settings.pyにcontext_processorsを記述

TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                ...
                'app_dir.context_processors.site_common_text',  # <-append
                ...

settings.pyに定数を記述

SITE_COMMON_TEXT = "this is common text in this site"

テンプレートに記述

{{ SITE_COMMON_TEXT }}
9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8