在运行django-admin命令时 - 它无法找到本地方法。
update.py
class Command(NoArgsCommand):
help = 'Help Test'
def handle(self, **options):
test1 = 'hello'
doThis()
def doThis():
test2 = 'hello'
运行命令python3 manage.py update
会产生错误:
File "/opt/dir/app/management/commands/updatefm.py", line 25, in handle
doThis()
NameError: name 'doThis' is not defined
我无法在文档https://docs.djangoproject.com/en/1.7/howto/custom-management-commands/#methods
中找到理由答案 0 :(得分:0)
有关Python如何处理类和对象的两件事情。
Command.handle
正在从同一个班级调用方法doThis
,因此您应该使用self
:
def handle(self, **options):
test1 = 'hello'
self.doThis()
然后您应该更改doThis
的签名,以便Python可以将其用作类Command
的方法:
def doThis(self):
test2 = 'hello'