自定义Django-admin命令问题

时间:2009-10-19 06:49:30

标签: python django django-admin

试图了解自定义管理命令如何工作,我的项目名为“mailing”,应用程序名为“msystem”,我已将此retrieve.py写入mailing / msystem / management / commands /文件夹并且我已粘贴管理和cpmmands文件夹中的空 init .py。

from django.core.management.base import BaseCommand
from mailing.msystem.models import Alarm

class Command(BaseCommand):
    help = "Displays data"
    def handle(self, *args, **options):
            x = Alarm.objects.all()
            for i in x:
                print i.name

当我尝试“python manage.py retrieve”时,我很奇怪得到句柄功能的“indention”错误但是它对我来说很好看,你能建议我做什么或者指出我的问题

由于

2 个答案:

答案 0 :(得分:4)

您的缩进需要在整个文件中保持一致,而不是您在上面发布的代码段中。

“help =”行在“class”之后缩进了四个空格,但是“x =”行缩进了多于四个。

也许你在混合空格和制表符,因此在“x =”之前有两个标签?

您的代码应如下所示:

from django.core.management.base import BaseCommand
from mailing.msystem.models import Alarm

class Command(BaseCommand):
    help = "Displays data"
    def handle(self, *args, **options):
        x = Alarm.objects.all()
        for i in x:
            print i.name

答案 1 :(得分:2)

如果您收到“缩进错误”并且所有内容看起来都是对齐的,这通常表明您正在混合制表符和空格。

我建议您确保模块只使用空格。

相关问题