Команда управления Django не может найти мое приложение

У меня возникла проблема с выполнением пользовательской команды, так как она выдаст ошибку NameEr: глобальное имя "graphofknowledge" не определено. Моя файловая структура

projectFile
|-manage.py
|-..
|-graphofknowledge (приложение)
  |-models.py
  |-views.py
  |-менеджмент
    | -__ init__.py
    | -команды
      |-__init__.py
      |-customCommand.py

Вот код для моей команды

from django.core.management.base import BaseCommand
from graphofknowledge.models import TagTrend_refine
class Command(BaseCommand):
    args = '<foo bar ...>'
    help = 'our help string comes here'
    def loadTagTrend(self, fileName):
        listOfData = []
        f = open(fileName)
        lines = f.readlines()
        f.close()
        for line in lines:
            temp = line.strip().split("\t")
            data = TagTrend_refine(
            tag = temp[0],
            trendData = temp[1]
            )
            listOfData.append(data)
        TagTrend_refine.objects.bulk_create(listOfEntities)

    def handle(self, *args, **options):
        self.loadTagTrend(graphofknowledge/tagTrend_refine.txt)

Я добавил имя приложения в УСТАНОВЛЕННОЕ ПРИЛОЖЕНИЕ. Это работает, когда я запускаю печать в пользовательской команде. Но как только я добавлю оператор импорта для своих моделей, он выдаст ошибку NameError. Могу ли я узнать, как я могу решить эту проблему?

1 ответ

Решение

Похоже, вы забыли использовать кавычки для строки имени файла. Пытаться:

    self.loadTagTrend('graphofknowledge/tagTrend_refine.txt')
Другие вопросы по тегам