やりたいこと
- サイト全体で共通の文言をどのページでも表示したい。
- テンプレートを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 }}