Сетевой стек Docker

То, что вы хотите, это контекстный процессор, и его очень легко создать. Предполагая, что у вас есть приложение с именем 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.

0
задан Kyle Kim 13 July 2018 в 03:35
поделиться

1 ответ

Это может быть достигнуто с помощью:

network_mode: "host"

в определении для вашей службы. Дополнительную информацию об этом можно найти в документации документа Docker для компоновки файлов: https://docs.docker.com/compose/compose-file/#network_mode

Обратите внимание, что я лично считаю это вариант последней инстанции. Если вы можете достичь своих целей, опубликовав один порт, а не отключив функции домены имен в сети, ваше решение будет более безопасным и портативным.

1
ответ дан BMitch 17 August 2018 в 13:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: