Команда управления 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')