- July 30, 2010
- Not specified
- deployment subdirectory subfolder
- 2 (after 2 ratings)
I wanted a way to deploy a Django site to both the root of a domain, and to a subdirectory. The solution was to loop over all urlpatterns and add a configurable string (URL_PREFIX) at the beginning of all patterns.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# In your settings.py URL_PREFIX = "/subdirectory" # At the bottom of your urls.py # Prefix all the above patterns with URL_PREFIX # Note: All urls must begin with ^, and URL_PATTERN must begin with / if settings.URL_PREFIX: prefixed_urlpattern =  for pat in urlpatterns: pat.regex = re.compile(r"^%s/%s" % (settings.URL_PREFIX[1:], pat.regex.pattern[1:])) prefixed_urlpattern.append(pat) urlpatterns = prefixed_urlpattern