Django - 错误:没有名为x的模块 - 复用应用时出现问题
我刚开始学习django,安装的是1.3.1版本。
我用django-admin.py创建了两个项目:projectone和projecttwo。
在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 个回答
你正在尝试在settings.py中的INSTALLED_APPS里安装一个项目,但这些其实是不同的项目。你需要做的是只创建一个项目,然后在这个项目里创建不同的应用。
记住,应用是为了可以重复使用的,所以如果你在其他项目中需要用到博客应用,只需重复使用它即可。
如果你是Django的新手,建议你去看看文档里的教程。
看看manage.py的作用:
https://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-py-and-manage-py
当你使用它时,它会动态地把你的应用程序添加到Python的路径中——也就是说,当你在开发时使用runserver命令时。
你有两个独立的项目,所以当你运行其中一个时,Python路径中只会有那个特定项目的应用程序。如果你想在一个项目之外使用另一个项目的应用程序,你需要手动把这些应用程序添加到全局的Python路径中,这样才能在当前项目之外使用它们。