tutorial tarantino pelicula descargar cantante django

tarantino - Django comando personalizado no encontrado



django tutorial (6)

Creo que los comandos / deben estar dentro del directorio / management.

Tener problemas para conseguir que los comandos personalizados de django funcionen.

Desde la documentación de django, se han colocado.

application/ manage.py blog/ __init__.py models.py management/ __init__.py commands/ __init__.py myapp_task.py views.py

El contenido de myapp_task.py es

from django.core.management.base import NoArgsCommand class Command(NoArgsCommand): def handle_noargs(self, **options): print ''Doing task...'' # invoke the functions you need to run on your project here print ''Done''

cuando corrió

python manage.py myapp_task

obtener error

Unknown command: ''myapp_task''


Esto se debe a que el init .pyc no se crea automáticamente en la carpeta "administración" y "comandos". Copie your_app/__init__.py y your_app/__init__.pyc y péguelo dentro de la carpeta de administración / y comandos /.


Hola, también tuve este problema y descubrí que estaba mezclando el identificador del argumento con el nombre del archivo

por lo que el archivo es el nombre del comando que desea, es decir, updater . Cambié updatefiles.py a updater.py

class Command(BaseCommand): help = ''Update Files Since /'X/' Days Ago'' def add_arguments(self, parser): parser.add_argument(''updatefiles'', nargs=''+'', type=int) def handle(self, *args, **options): days_ago = int(options[''updatefiles''][0]) days_ago = (days_ago * -1) if days_ago < 0 else days_ago self.stdout.write(''Adding files since %s days ago'' % days_ago) add_files_function(days_ago)

entonces para ejecutar yo usaría

python manage.py updater


La estructura del directorio en su respuesta es un poco ambigua; al colocar los archivos de la siguiente manera, django debería poder encontrar su comando:

project/ # in your question this would be ''application'' manage.py blog/ __init__.py models.py management/ __init__.py commands/ __init__.py myapp_task.py views.py

Además, deberás habilitar tu aplicación en tu settings.py :

INSTALLED_APPS = ( ''django.contrib.auth'', ''django.contrib.admin'', ''django.contrib.contenttypes'', ''django.contrib.sessions'', ''django.contrib.sites'', ''blog'', # <= your app here ... )


Si el proyecto está compilado por bytes, django.core.management.find_commands () solo buscará archivos .py. Si sus comandos personalizados están en archivos .pyc, necesita parchear django / core / management / commands / __ init__.py con el parche en https://code.djangoproject.com/ticket/19085


Yo tuve el mismo problema. La razón fue que la raíz del proyecto no estaba en mi $ PYTHONPATH. La solución en este caso es escribir (en una máquina Linux) algo como

PYTHONPATH=./project python manage.py myapp_task