Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ImportError:没有名为app.models的模块_Python_Django_Importerror_File Not Found - Fatal编程技术网

Python ImportError:没有名为app.models的模块

Python ImportError:没有名为app.models的模块,python,django,importerror,file-not-found,Python,Django,Importerror,File Not Found,我正在学习Django,我不断地遇到障碍,通过谷歌搜索克服障碍需要时间。但是这次花了我20多分钟,我仍然不知道答案 我知道这很简单,但我尝试了很多方法,似乎无法访问我的models.py。我总是犯同样的错误 错误 回溯(最近一次呼叫最后一次): 文件“import_states.py”,第11行,在 从app.models导入状态 ImportError:没有名为app.models的模块 上下文中的代码 #!/usr/bin/env python import csv import os i

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

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

错误

回溯(最近一次呼叫最后一次): 文件“import_states.py”,第11行,在 从app.models导入状态 ImportError:没有名为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
以下是包含脚本的“我的脚本”文件夹的路径

#!/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
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

任何帮助都将不胜感激。

不要这样做。用django的方式做。首先了解

并加上:

app/management/commands/import_states.py

/Users/ahmedawayhan/Development/projects/states/app
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

我不熟悉django-但是如果我没记错的话,调用
import app.models
将在脚本目录中查找文件夹
app
。既然不是这样,它就失败了。你能确认在你的
states/app/
目录中有一个
\uuuuu init\uuuuu.py
吗?是的,有一个'init.py',当我使用./manage.py shell运行脚本时,我可以从app.models导入,它可以工作。“我正在学习Django,我不断地遇到障碍,通过谷歌搜索来克服障碍需要时间。”-这是编程的一部分:)@AhmadAbdullahAwayhan,Django应用程序不应该一直从这个shell运行吗?你是如何运行脚本的?从CLI python解释器?IDE?