Serving Dropdown from database in every page
I have this project i'm working on and it has 2 apps. Main app: which has the pages(Home, About, Contact) Inventory app: which has the models(Category, Products, Tagging, etc..)
Now the navigation-bar always is always displaying the categories drop-down menu which lists 5 categories or a number of them with a button to see all.
i am using class-based views and i can override the get_context_data method and query the Category model and add it to context on each page render but i was wondering if there is a better method to go about that.Автор: Basel J. Hamadeh Источник Размещён: 08.11.2019 11:29
Have a look at context processors. It can automatically add data to context, and every template will have access to it. You need to edit your settings.py to include a path to your custom function.
From the docs:
Автор: NS0 Размещён: 20.08.2016 03:49
It’s a Python function that takes one argument, an HttpRequest object, and returns a dictionary that gets added to the template context. Each context processor must return a dictionary.
Custom context processors can live anywhere in your code base. All Django cares about is that your custom context processors are pointed to by the 'context_processors' option in your TEMPLATES setting — or the context_processors argument of Engine if you’re using it directly.