Мне нужно отобразить мой сайт без navbar, если в запросе есть аргумент, например nv = false, и я хочу передать переменную в контекст на основе этого, чтобы основной шаблон показывал блок или нет. На моем сайте также много функций json-rpc, и я не хочу добавлять дополнительные накладные расходы. как я могу это сделать, не переписывая все мои взгляды? (они не основаны на классах, а мой сайт использует django 1.8)django добавить контекст на основе запроса ко всем представлениям
ответ
Просто добавьте обработчик контекста, который добавит эту переменную в контекст. Процессор контекста является простой функцией питона
def navbar(request):
return {'navbar_enabled': request.GET.get('nv', False)
и добавить его в список шаблонов контекстных процессоров
TEMPLATE_CONTEXT_PROCESSORS = (
...
'MODULE_NAME.navbar',
...
)
Если вы используете новую настройку 'TEMPLATES' В Django 1.8+ установите опцию' context_processors' в настройке 'TEMPLATES', а не' TEMPLATE_CONTEXT_PROCESSORS'. – Alasdair
У меня есть фильтр по запросу, который теперь сломан, мой запрос пустой строки, когда этот фильтр получает его! что не так? – Mohibeyki
У меня это получилось, объект запроса больше не передается шаблонам с использованием нового объекта SETTINGS, я думаю, он должен был указывать на документы где-то https://docs.djangoproject.com/en/1.8/ref/ settings/# std: setting-TEMPLATES – Mohibeyki
- 1. Обеспечить дополнительный контекст ко всем представлениям
- 2. Django: Как обеспечить контекст ко всем представлениям (а не шаблонам)?
- 3. Как добавить AdMob GADBannerView ко всем представлениям
- 4. Пропустить экземпляр класса ко всем представлениям
- 5. Как применить декоратор ко всем представлениям (модуля) в django
- 6. Установить GestureDetector ко всем дочерним представлениям
- 7. Как создать глобальный контроллер ко всем представлениям?
- 8. Добавление переменной ко всем представлениям в grails
- 9. Проходящая модель ко всем представлениям mvc
- 10. Как добавить тень ко всем представлениям в моем TableViewCells?
- 11. MVC Asp.net Добавить скрипт ко всем представлениям с сайта Ajax
- 12. Как настроить ориентацию интерфейса ко всем представлениям
- 13. Как добавить метод ко всем шаблонам django?
- 14. Добавить HTTP-заголовок ко всем администраторам Django?
- 15. Добавить строку запроса ко всем запросам NSURLSession
- 16. Добавить фильтр ко всем структурам сущности запроса
- 17. Контроллер навигации - добавьте пользовательский элемент навигационной панели ко всем представлениям
- 18. Добавление пространства имен ко всем представлениям в ASP.NET MVC 6
- 19. Добавить контекст на каждую страницу администратора Django
- 20. selectedBackgroundView on UITableViewCell применяется ко всем представлениям в ячейке
- 21. Передать переменную ко всем представлениям, созданным в контроллере Laravel
- 22. TableView добавляет одни и те же функции ко всем представлениям
- 23. listview drag listener применяется ко всем представлениям в макете
- 24. Прикреплять общие свойства ко всем представлениям в ASP.NET MVC
- 25. Как передать thw Viewdata ко всем представлениям в моем контроллере?
- 26. Доступ ко всем представлениям list_item в спискеview android
- 27. Добавить входящую строку запроса ко всем исходящим ссылкам/трафику C#
- 28. Как добавить приложение ко всем страницам в django?
- 29. Добавить заголовок запроса ко всем исходящим запросам в WKWebView
- 30. Как добавить HTTP-заголовок ко всем ответам Django
Возможный дубликат [Как передать переменные всех шаблонов в Django?] (HTTP://stackoverflow.com/questions/12030611/how-do-i-pass-variables-to-all-templates-in-django) – dsalaj
Нет, его нет, необходимо обработать запрос, а затем передать переменную, и обработчик контекста сделал это для меня :) – Mohibeyki