Чтобы динамическая переменная приняла новое значение приходится перезапускать сервер в Django, как решить?
Логично, ведь это не динамические переменные, а что ни на есть, захардкоженые.
У Gunicorn есть способность авторелоада если код изменился, можешь воспользоваться им.
Используй значения из файла (env) с переменными окружения и пакет dotenv, попробуй перазиписать свой файл с новыми значениями переменных

https://stackoverflow.com/questions/63837315/chang...

from django.shortcuts import render

# Create your views here.
def index(request):
    context = {
        'name':  var_name,
        'age':  var_age
    }
    return render(request, 'index.html', context)