I have a Django project

RabbitMQ is running (testing from command line, it receives messages)

Celery is running and recognising tasks.

Simplified tree of project:

```
├── wha/core
│   ├── wha/core/__init__.py
│   ├── wha/core/celery.py
│   ├── wha/core/settings.py
│   ├── wha/core/urls.py
│   └── wha/core/wsgi.py
├── wha/factura
│   ├── wha/factura/__init__.py
│   ├── wha/factura/admin.py
│   ├── wha/factura/forms.py
│   ├── wha/factura/models.py
│   ├── wha/factura/urls.py
│   └── wha/factura/views.py
└── wha/manage.py

```

wha/core/**init**.py
====================

```
from __future__ import absolute_import
from .celery import app as celery_app

```

wha/core/celery.py ([as docs](http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html))
===========================================================================================================

```
from __future__ import absolute_import
import os
from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings')
from django.conf import settings

app = Celery('core')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

```

wha/core/settings.py
====================

```
BROKER_URL = 'amqp://XXX:XXX@localhost:5672//'

CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_RESULT_BACKEND = "amqp"

CELERY_IMPORTS = ('factura.views')

```

wha/factura/views.py
====================

```
@task(name="factura.views.notify")
def notify(request, uid):

    factura = get_object_or_404(Factura, pk=uid)

    subject     = '%s - Your domain' % factura.contrato.dominio.nombre.upper()
    from_email  = 'Mail Name <asd@asd.com>'
    to          = [factura.contrato.dominio.cliente.email]

```

[...] blah blah, sends email, **uid** is really "factura" id. I think doesn't matter.

Celery console output (debug)
=============================

```
 -------------- celery@nnbmp.local v3.1.19 (Cipater)
---- **** -----
--- * ***  * -- Darwin-15.2.0-x86_64-i386-64bit
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         core:0x10c451fd0
- ** ---------- .> transport:   amqp://hola:**@nnmbp:5672//
- ** ---------- .> results:     amqp
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ----
--- ***** ----- [queues]
 -------------- .> celery           exchange=celery(direct) key=celery

[tasks]
  . celery.backend_cleanup
  . celery.chain
  . celery.chord
  . celery.chord_unlock
  . celery.chunks
  . celery.group
  . celery.map
  . celery.starmap
  . factura.views.notify

```

URL for calling the view:
=========================

```
http://localhost:8000/factura/notify/8

```

Where 8 is the "factura" id, 

EDIT:
=====

The thing that isn't working is that when I call "factura.notify" from the browser, Celery doesn't recognise the task being called, so it doesn't send a message to RabbitMQ.

Any idea why this isn't working?