【问题标题】:how to fix ImportError: No module named main.models如何修复 ImportError:没有名为 main.models 的模块
【发布时间】:2015-07-15 19:25:22
【问题描述】:

免责声明:我是编码新手,所以这可能是一个愚蠢的问题,但我希望得到一些帮助

我正在尝试将 .py 文件夹上传到 mysql,但它一直给我一个名称错误。这是我的代码,我哪里出错了?

#!/usr/bin/env python
import csv
import os
import sys

sys.path.append('..')

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Comics.settings")

from main.models import Comicbook

csv_file_path = os.path.join(os.path.dirname(os.path.abspath('__file__')), "stores.csv")
csv_file = open(csv_file_path, 'r')
reader = csv.DictReader(csv_file)

Store = Store.objects.all()

for row in reader:
    new_store = Store
    new_store, created = Stores.objects.get_or_create(state=row['State'])
    new_store.city = row['City']
    new_store.name = row['Name']
    new_store.number = row['Number']

    new_store.save()

csv_file.close()

【问题讨论】:

  • 这是什么?是视图?这个文件在哪里?你能显示你项目的文件夹树吗?
  • main.models.Comicbook 是什么?您似乎正在尝试导入它,甚至没有使用它...?

标签: python mysql django csv


【解决方案1】:

我可以在这里看到一些错误。

  • 你导入了Comicbook但从不使用它,你可以删除这行from main.models import Comicbook
  • StoreStores 永远不会被导入。
  • 为什么要new_store = Store.objects.all() 然后将其更改为其他值?

你应该检查这几点。

【讨论】:

    【解决方案2】:

    删除线:

    from main.models import Comicbook

    【讨论】:

    • 你能解释一下你的答案吗?
    【解决方案3】:

    试试这个

    sys.path.append('/absolute/path/to/Comics')
    
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Comics.settings")
    
    from main.models import Comicbook #if main is an app inside 
    

    【讨论】:

      猜你喜欢
      • 2019-01-23
      • 2015-02-10
      • 2020-04-28
      • 2016-11-18
      • 2020-01-26
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      相关资源
      最近更新 更多