使用WSGI在服务器上设置Django获取导入错误“模块名为myproject.urls Not found”

时间:2010-12-17 22:04:40

标签: django wsgi

所以我创建了一个django网站,我想把它从我的电脑移到我的服务器上。我在服务器上设置了Django,并使用了WSGI配置。当我尝试进入主页时,我收到导入错误,它表示未找到模块“myproject.urls”。这是一个Django错误,看起来它正在获取settings.py文件,并查看ROOT_URLCONF的设置并查看正确的URL文件。我用通常的django-admin.py startproject myproject创建了这个项目,我只是想看看是否所有内容都配置正确,但现在我收到了这个错误。

任何建议?

3 个答案:

答案 0 :(得分:2)

从“myproject.urls”中删除“myproject”。不知何故,WSGI将设置作为根来解决,因此无需再次参考它。

答案 1 :(得分:1)

听起来myproject不在您的路径上 - 如果您加载python shell并运行import myproject会发生什么?如果可行,那么当您运行import myproject.urls时会发生什么?如果只有第二次导入失败,则urls.py或其导入的某个文件中会出现语法错误。

答案 2 :(得分:1)

@Afrowave,你保存了一个巨大的头痛 - 谢谢我!

除此之外 - 我还做了一点挖掘,并希望避免在我的应用程序中修改十几个文件以解释丢失'myproject'。以及每次进口的开始。

相反,我发现如果你做这样的事情 - 你不必:)

ROOT = '/home/user/path_to_project_root' # In my case, also the dir that contains media, templates etc
APP_ROOT = '/home/user/path_to_django_project'
sys.path.append(ROOT)
sys.path.append(APP_ROOT)
os.environ['DJANGO_SETTINGS_MODULE'] = 'django_project.settings'

希望这有助于将来。