То, что вы хотите, это контекстный процессор, и его очень легко создать. Предполагая, что у вас есть приложение с именем custom_app
, выполните следующие шаги:
custom_app
в INSTALLED_APPS
в settings.py
(вы сделали это уже, правильно?); context_processors.py
в custom_app
; def categories_processor(request):
categories = Category.objects.all()
return {'categories': categories}
context_processors.py
в TEMPLATE_CONTEXT_PROCESSORS
] в settings.py
TEMPLATE_CONTEXT_PROCESSORS += ("custom_app.context_processors.categories_processor", )
И теперь вы можете использовать {{categories}}
во всех шаблонах: D
Начиная с Django 1.8
] Чтобы добавить TEMPLATE_CONTEXT_PROCESSORS
, в настройках вы должны добавить следующий код:
TEMPLATES[0]['OPTIONS']['context_processors'].append("custom_app.context_processors.categories_processor")
Или включить эту строку непосредственно в клавишу OPTIONS.context_processors
в настройке TEMPLATES
.
Это может быть достигнуто с помощью:
network_mode: "host"
в определении для вашей службы. Дополнительную информацию об этом можно найти в документации документа Docker для компоновки файлов: https://docs.docker.com/compose/compose-file/#network_mode
Обратите внимание, что я лично считаю это вариант последней инстанции. Если вы можете достичь своих целей, опубликовав один порт, а не отключив функции домены имен в сети, ваше решение будет более безопасным и портативным.