Django:' self'引用和对象输入。有什么不同?

时间:2015-08-01 20:48:31

标签: python django python-3.x django-commands django-command-extensions

好的,所以我正在研究在django中创建一些命令,但是我在这里遇到了一个有趣的问题......

from django.core.management.base import LabelCommand
from optparse import make_option

class Command(LabelCommand):
    requires_system_checks = False
    can_import_settings = True

    args ="[none]"
    label = "person's name"

    option_list = LabelCommand.option_list + (
         make_option('--cap',
         action='store_true',
         dest='capitalize',
         help= 'Tells Django to capitalize the name'),
        )

    help = "Runs a shell output that writes out 'Hello' and the specified name"

    def handle_label(self, name, **options):
        if options.get('capitalize', False):
            name = name.capitalize()

        print ("Hello %s!" % name)

困扰我的是围绕代码后半部分的handle_label def,以及 self object 输入之间的这种明显差异。我认为 self 是从主类继承的实例(在本例中是 Command )。我对此感到困惑,因为如果我实际上在这个方法中输入一个对象(在这种情况下, name ),那为什么我需要自己呢?我这里没有引用它,为什么我需要输入它作为参数?也许我不太了解这种方法。无论哪种方式,有人可以帮助我澄清这些差异吗?感谢。

0 个答案:

没有答案