我创建了一个简单的django命令,当我想从命令行(终端)测试它时,我得到一个NotImplementedError。
我的代码:
from django.db import models
from django.core.management.base import NoArgsCommand
from email.mime.text import MIMEText
import logging
from datetime import date, timedelta
logger = logging.getLogger('dataimport')
class Command(NoArgsCommand):
def handele_noargs(self, **options):
# Sending all the errors
logger.info("test")
我得到的错误:
追踪(最近一次呼叫最后一次):
文件“manage.py”,第11行,in execute_manager(设置)
文件“/.../python2.7/site-packages/django/core/management/init.py”,第459行,在execute_manager中 utility.execute()
文件“/.../python2.7/site-packages/django/core/management/init.py”,第382行,执行中 self.fetch_command(子命令).run_from_argv(self.argv)
文件“/.../python2.7/site-packages/django/core/management/base.py”,第196行,在run_from_argv中 self.execute(* args,** options。 dict )
文件“/.../python2.7/site-packages/django/core/management/base.py”,第232行,执行 output = self.handle(* args,** options)
文件“/.../python2.7/site-packages/django/core/management/base.py”,第371行,句柄 return self.handle_noargs(** options)
文件“/.../python2.7/site-packages/django/core/management/base.py”,第378行,在handle_noargs中 提出NotImplementedError()
NotImplementedError
答案 0 :(得分:3)
你写了一个错字:
def handele_noargs(self, **options):
应该是:
def handle_noargs(self, **options):
人们只能梦想在Python中使用Java @Override
注释。
或者可以写一下:https://stackoverflow.com/a/8313042/1240162