¿Cómo llamo a las plantillas con los mismos nombres en diferentes directorios en Django?

Trabajando con Django 1.8

Tengo dos plantillas con el mismo nombre,

base.html en /mysite/templates/base.html

y otro de una aplicación con el mismo nombre (base.html) en la ubicación, /mysite/app/templates/base.html

la configuración de mi plantilla,

 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] 

ver

 def home(request): c = { name: 'myname', username: 'myusername'} return render(request, 'base.html', c) 

Esto llama al ‘base.html’ desde la raíz del proyecto, pero ¿cómo puedo llamar a la plantilla desde el directorio app/template ?

¡Gracias por cualquier referencia!

Actualizar:

He añadido la ubicación de la aplicación a la plantilla de directorios,

 'DIRS': [os.path.join(BASE_DIR, 'templates'), os.path.join(BASE_DIR, 'app/templates')], 

ahora mi IDE muestra ambos archivos, aún se representa el base.html la raíz. ¿Cómo puedo hacer referencia a una plantilla sobre la otra?

Actualización: Se corrigió al agregar un directorio más en el nivel de plantilla de la aplicación.

Ahora mi estructura de directorios de plantillas de aplicación se ve así,

mysite/app/templates/app/base.html

os.path.join(BASE_DIR, 'app/templates') no es necesario en DIRECCION DE PLANTILLA si la aplicación está en la tupla de aplicaciones instaladas.

Soluciones más eficientes en Django 1.8 son bienvenidas.

Con su estructura de directorios actual, no puede hacerlo; se hace de esta manera para permitirle anular las plantillas de las aplicaciones más adelante en su configuración INSTALLED_APPS . La convención es utilizar una estructura de directorios más como:

 app1/templates/app1/base.html app2/templates/app2/base.html 

Y luego use app1/base.html o app2/base.html para referirse al que desee.

Editar

Para ser más claro a lo que me refiero: la estructura de su proyecto podría tener este aspecto:

 mysite - templates - base.html - manage.py (etc...) - app - models.py (etc...) - templates - app - base.html 

Luego, puede usar base.html para obtener el primero y app/base.html para obtener el otro, y todas las plantillas de aplicación relevantes están empaquetadas dentro de la aplicación a la que hacen referencia, pero tienen un espacio de nombre.

Es una buena práctica crear un nivel adicional en la estructura de archivos. Así que ponga las plantillas en las templates// folder. Luego puede hacer referencia a ellos con templates/app1/base.html y templates/app2/base.html .