Ticket #583: settings-v2.patch

File settings-v2.patch, 1.6 KB (added by sune.kirkeby@…, 9 years ago)
  • django/conf/global_settings.py

     
    5252# Host for sending e-mail.
    5353EMAIL_HOST = 'localhost'
    5454
     55# Should templates/ directories in the INSTALLED_APPS module-directories
     56# be added to TEMPLATE_DIRS,
     57ADD_APP_TEMPLATE_DIRS = False
     58
    5559# List of locations of the template source files, in search order.
    5660TEMPLATE_DIRS = ()
    5761
  • django/conf/settings.py

     
    4444            setting_value = (setting_value,) # In case the user forgot the comma.
    4545        setattr(me, setting, setting_value)
    4646
     47# Add templates/ directories from INSTALLED_APPS to TEMPLATE_DIRS,
     48# [ Note -- There is a good reason i jump through these hoops, if the
     49# original TEMPLATE_DIRS setting was a list-instance, we should keep it
     50# that way. ]
     51if me.ADD_APP_TEMPLATE_DIRS:
     52    tds_type = type(me.TEMPLATE_DIRS)
     53    tds = list(me.TEMPLATE_DIRS)
     54    for app in me.INSTALLED_APPS:
     55        m, a = app.rsplit('.', 1)
     56        m = getattr(__import__(m, globals(), locals(), [a]), a)
     57        app_root = os.path.dirname(m.__file__)
     58        td = os.path.join(app_root, 'templates')
     59        if os.path.isdir(td):
     60            tds.append(td)
     61    me.TEMPLATE_DIRS = tds_type(tds)
     62
    4763# save DJANGO_SETTINGS_MODULE in case anyone in the future cares
    4864me.SETTINGS_MODULE = os.environ.get(ENVIRONMENT_VARIABLE, '')
    4965
Back to Top