2009-10-19 146 views
0

試圖瞭解自定義管理命令是如何工作的,我將我的項目命名爲「mailing」,並在裏面命名爲「msystem」,我將這個retrieve.py寫到mailing/msystem/management/commands /文件夾,並且我已將空init .py都粘貼到管理和cpmmands文件夾。自定義Django-admin命令問題

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 

我古怪越來越爲手柄功能「縮進」的錯誤,當我嘗試「蟒蛇manage.py檢索」但它看起來好像沒什麼問題,你可以建議我做什麼或指向我的問題

謝謝

回答

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 
2

如果你得到一個「縮進錯誤」,並且看起來一切都一致,這通常表明你在混合標籤和空格。

我建議確保你的模塊只使用空格。

+0

+1打我吧:) – 2009-10-19 07:08:30

+0

感謝您的+1,但隨着速度的最佳答案冗長;) – SmileyChris 2009-10-20 01:39:56