Django.fun

Avoid hard coding template variables in django context dictionary

From the documentation, the context dictionary needs to have the same variable name as the template variable. Is there a way to avoid duplicating the variable names and hard coding them when creating the context dictionary?

Example:

Template :

<h1>{{ title }}</h1>
<h4> {{ date }}</h4>
<p> {{ write_up }}</p>

The keys in the context dictionary needs to have the same names as the template as follows:

{
 'title': 'some_value',
 'date': 'some_date',
 'write_up': 'some_other_value'
}

Is there a way to prevent hard coding the values in both places, or to share the values via a constants file? So that the template and context dictionary would look something like this.

<h1>{{ CONST.title }}</h1>
<h4> {{ CONST.date }}</h4>
<p> {{ CONST.write_up }}</p>
{
 CONST.title: 'some_value',
 CONST.date: 'some_date',
 CONST.write_up: 'some_other_value'
}

This way, we prevent duplicating the variable names.

Tutorials

Константы Python: Улучшение управляемости вашего кода

Современный Python: начинаем проект с pyenv и poetry

Настройка проекта Python — виртуальные среды и управление пакетами

Использование requests в Python — тайм-ауты, повторы, хуки

Понимание декораторов в Python

ProcessPoolExecutor в Python: полное руководство

map() против submit() с ProcessPoolExecutor в Python

Понимание атрибутов, словарей и слотов в Python

Полное руководство по slice в Python

Выпуск Django 4.0

Безопасное развертывание приложения Django с помощью Gunicorn, Nginx и HTTPS

Автоматический повтор невыполненных задач Celery

Django REST Framework и Elasticsearch

Докеризация Django с помощью Postgres, Gunicorn и Nginx

Асинхронные задачи с Django и Celery

Релизы безопасности Django: 3.2.4, 3.1.12 и 2.2.24

Выпуски исправлений ошибок Django: 3.2.3, 3.1.11 и 2.2.23

Эффективное использование сериализаторов Django REST Framework

Выпуски безопасности Django: 3.2.2, 3.1.10 и 2.2.22

Выпущенные релизы безопасности Django: 3.2.1, 3.1.9 и 2.2.21

View all tutorials →