Django NoArgsCommand给出了NameError:name''未定义

时间:2012-05-15 05:25:23

标签: python django redis crontab django-celery

我正在尝试在我的celery crontabs上运行一个自定义命令,它从我的数据库中提取数据,生成一个列表,然后将该信息作为列表以redis形式转储。此列表将由其他工作人员使用。

但是,我收到了一个N​​ameError,尽管我阅读了相关的堆栈和Google帖子,但仍无法解决。

我的代码如下:

from django.core.management.base import NoArgsCommand, CommandError
from detail.models import SD
import redis

class Command(NoArgsCommand):

    help = 'Gathers the symbols from the database and generates a list for crontabs, saving to redis.'

    def handle_noargs(self, **options):

        all = SD.objects.all()

        data = []

        for info in all:
            data.append(info.symb)  

        r = redis.Redis()

        try:
            r.delete('allsymbols')
        except:
            pass

        for xyz in data: **<---- the NameError refers to this line**
            r.rpush('allsymbols', xyz)

TRACEBACK

File "C:\.....command.py", line 5, in <module>
class Command(NoArgsCommand):
File "C:\.....command.py", line 26, in Command
for xyz in data:

NameError:未定义名称'data'

1 个答案:

答案 0 :(得分:1)

脚本包含混合标签和空格。

根据pep8,您应该只使用空格,但只要您在所有脚本中使用相同内容,就可以选择空格。