Django - 错误:没有名为x的模块 - 复用应用时出现问题

0 投票
2 回答
2468 浏览
提问于 2025-04-17 05:45

我刚开始学习django,安装的是1.3.1版本。

我用django-admin.py创建了两个项目:projectoneprojecttwo

projectone里,我用python manage.py startapp创建了一个叫blog的应用。

projecttwo的settings.py文件中,我把以下内容放进了installed_apps:

INSTALLED_APPS = (  
    other code goes here...
    'projectone.blog'
)

然后当我用manage.py运行projecttwo时,出现了:

Error: No module named projectone.blog

我已经把__init__.py文件放在正确的位置了。

我就是搞不明白为什么会这样。是不是因为projectone不在pythonpath里?django-admin.py是不是就是做这个的?但我不知道为什么我没有做到这一点。

2 个回答

0

你正在尝试在settings.py中的INSTALLED_APPS里安装一个项目,但这些其实是不同的项目。你需要做的是只创建一个项目,然后在这个项目里创建不同的应用。

记住,应用是为了可以重复使用的,所以如果你在其他项目中需要用到博客应用,只需重复使用它即可。

如果你是Django的新手,建议你去看看文档里的教程。

1

看看manage.py的作用:

https://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-py-and-manage-py

当你使用它时,它会动态地把你的应用程序添加到Python的路径中——也就是说,当你在开发时使用runserver命令时。

你有两个独立的项目,所以当你运行其中一个时,Python路径中只会有那个特定项目的应用程序。如果你想在一个项目之外使用另一个项目的应用程序,你需要手动把这些应用程序添加到全局的Python路径中,这样才能在当前项目之外使用它们。

撰写回答