Django personnalisé de gestion des commandes: AttributeError: 'module' objet n'a pas d'attribut "Commande"

Je suis en train de faire une gestion personnalisée de la commande comme indiqué dans la doc ici: https://docs.djangoproject.com/en/dev/howto/custom-management-commands/

Lorsque j'essaie d'exécuter la commande de mon répertoire de projet je rencontre l'erreur suivante:

AttributeError: 'module' object has no attribute 'Command'

Voici le fichier:

#event_expiration.py
from django.core.management.base import BaseCommand, CommandError
from app.models import Event
import datetime

class Command(BaseCommand):
    help = 'deletes expired events'

    def handle(self, *args, **options):

        today = datetime.datetime.now()
        events = Event.objects.filter(date=datetime.date(2011,11,11))

        for e in events:
            e.delete()

        self.stdout.write('Expired events successfully deleted.')

La commande, je suis en cours d'exécution est :

$ python manage.py event_expiration

J'ai fait sûr que je suis l'ajout de l'event_expiration.py fichier dans la gestion et commandes des dossiers et que ces dossiers ont fichiers d'initialisation. ceux qui sont dans un de mes dossiers app.

Suis-je surplombant quelque chose ici? Toute aide est appréciée, merci!

EDIT:

Compagnons de SORTE que l'utilisateur Yuji m'a aidé à essayer de déboguer ce un peu, mais nous sommes toujours sans réponse. heres ce que nous avons fait:

Tout d'abord, le plein de sperme et de commande:

(venv)matt@inspirion14z:~/Dropbox/PROD/ersvp.it$ python manage.py event_expiration
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/matt/Dropbox/PROD/ersvp.it/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
    utility.execute()
  File "/home/matt/Dropbox/PROD/ersvp.it/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/matt/Dropbox/PROD/ersvp.it/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "/home/matt/Dropbox/PROD/ersvp.it/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 70, in load_command_class
    return module.Command()
AttributeError: 'module' object has no attribute 'Command'

Pour voir ce qui se passait à django/core/gestion/init.py", la ligne 70, j'ai placé l'importation apb; apb.set_trace() dans le fichier.

En mode débogage, nous avons essayé:

module.__file__ 

pour vérifier si le module est là où l'on attend, et c'était en effet, avec une puissance de:

'/home/matt/Dropbox/PROD/ersvp.it/app/management/commands/event_expiration.pyc'

Ensuite, nous avons essayé importation manuelle de Commande dans le shell:

>>> from app.management.commands.event_expiration import Command 
Traceback (most recent call last):   File "<console>", line 1, in <module> ImportError: cannot import name Command

Encore à me gratter la tête!

L'app est c'est dans INSTALLED_APPS dans votre settings.py?
mVChr: oui, c'est
Vous devriez poster le débogage nous l'avons fait: c'est un gros indice quelles erreurs vous avez essayé d'importer la Commande du shell
voir edit 🙂

OriginalL'auteur darko | 2012-08-10