If it’s a value you’d like to have for every request & template, using a context processor is more appropriate.
Here’s how:
-
Make a
context_processors.py
file in your app directory. Let’s say I want to have theADMIN_PREFIX_VALUE
value in every context:from django.conf import settings # import the settings file def admin_media(request): # return the value you want as a dictionnary. you may add multiple values in there. return {'ADMIN_MEDIA_URL': settings.ADMIN_MEDIA_PREFIX}
-
add your context processor to your settings.py file:
TEMPLATES = [{ # whatever comes before 'OPTIONS': { 'context_processors': [ # whatever comes before "your_app.context_processors.admin_media", ], } }]
-
Use
RequestContext
in your view to add your context processors in your template. Therender
shortcut does this automatically:from django.shortcuts import render def my_view(request): return render(request, "index.html")
-
and finally, in your template:
... <a href="https://stackoverflow.com/questions/433162/{{ ADMIN_MEDIA_URL }}">path to admin media</a> ...