ImportError: No module named app.models

ImportError: No module named app.models

我正在学习 Django,我不断遇到障碍,需要花时间谷歌搜索才能克服障碍。但是这个花了我 20 多分钟,我仍然不知道答案。

我知道这很简单,但我尝试了很多方法,但似乎无法访问我的 models.py。我一直收到同样的错误

错误

Traceback (most recent call last): File "import_states.py", line 11, in from app.models import State ImportError: No module named app.models

上下文中的代码

#!/usr/bin/env python

import csv
import os
import sys

sys.path.append("..")

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

from app.models import State

states = State.objects.all()

for state in states:
    print state.name

这是包含脚本

的我的脚本文件夹的路径
/Users/ahmedawayhan/Development/projects/states/project/scripts

这里是包含 models.py

的文件夹的 路径
/Users/ahmedawayhan/Development/projects/states/app

如有任何帮助,我们将不胜感激。

不要这样做。以 django 方式进行。首先阅读 custom management command

并添加:

app/management/commands/import_states.py

from django.core.management.base import BaseCommand
from app.models import State

class Command(BaseCommand):
    def handle(self, *args, **options):

    states = State.objects.all()

    for state in states:
        print state.name

并称它为:

python manage.py import_states

如果你真的需要你的方式:

sys.path.append("../..")

或致电:

python project/scripts/import_states.py