[Django]-Django settings variables get lost in while being passed to templates

5👍

Ideally, you should use template context processors for this. It will cut down your code and allow you to see exactly where the problem is.

Make a file in your projects called urls_context_processor.py (or similar) and put your variables in there:

def common_urls(request):
    return {
        'URL_MAIN': "http://...",
        'URL_JOBS': "http://...",
        'URL_CARS': "http://...",
        'URL_HOME': "http://...",
    }

and in your settings.py

TEMPLATE_CONTEXT_PROCESSORS = = (
      ....
      'my_project.urls_context_processor.common_urls',)

now the urls variables will be automatically available in all your template, and you won’t need to hard code them into every view.

Leave a comment