编辑:我误解了Django的工作方式以及视图和模板之间的关系。为此,我真正想要做的是编写一个自定义管理命令,文档位于此处:https://docs.djangoproject.com/en/2.2/howto/custom-management-commands/
全部披露:此处是Django新用户。我按照教程工作,然后开始构建自己的小应用程序。这意味着我现在足够聪明,可以制造麻烦,但是不够聪明,可以解决问题:)
到目前为止,一切都很好-我已经创建了模型,设置了管理员并且可以运行shell来验证它是否可以正常工作。我今天早上开始使用新脚本来吃CSV数据,并根据数据创建数据库记录。
但是在我还没出发的时候,将模型导入脚本时就遇到了错误。
这是目录结构: [
这是脚本:
from msdashboard.models import VRGame, VRGameReview
import csv
combinedCSVLoc = "csv/2019-04-30_COMBINED_PSVR.csv"
print("Starting import of combined PSVR Game Data")
with open(combinedCSVLoc,newline = '') as csvfile:
reader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in reader:
print(', '.join(row))
这是错误:
ModuleNotFoundError: No module named 'msdashboard'
我已经检查了设置以确保已安装:
INSTALLED_APPS = [
'msdashboard.apps.MsdashboardConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
另外,这是apps.py文件:
from django.apps import AppConfig
class MsdashboardConfig(AppConfig):
name = 'msdashboard'
我想念什么愚蠢的东西?我也尝试过导入“ .models”,其结果是
ModuleNotFoundError: No module named '__main__.models'; '__main__' is not a package
有趣的是,我可以在Shell中运行以下命令(并与模型进行交互):
from msdashboard.models import VRGame,VRGameReview