好吧我试图使用fastcgi在我的网络服务器上删除django。我差不多完成了,但由于某些原因,当我运行fastcgi脚本时,它找不到我的settings.py。
这是我得到的错误:
ImportError: Could not import settings 'skyblue.settings' (Is it on sys.path?): No module named settings
dispatch.fcgi:
#!/usr/bin/python2.7
import sys
import os
sys.path.append('/home/skybluep/website/skyblue')
os.chdir("/home/skybluep/website/skyblue")
#sys.path.insert(0, '/home/skybluep/local/lib/python2.7/site-packages/')
os.environ[ 'DJANGO_SETTINGS_MODULE' ] = 'skyblue.settings'
from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
答案 0 :(得分:1)
将我的头撞在墙上后,点击了一下。我意识到python没有看到skyblue.settings作为python模块。所以我在skyblue目录中添加了一个__ init __ .py文件。 Django确实在skyblue / skyblue中创建一个__ init __.py文件,但不在第一个目录中创建。我不知道为什么fastcgi脚本无法从PYTHONPATH中解决这个问题,但无论我最终让Django使用FCGI在我的Apache共享主机帐户上解复了。
只是一个注意事项我最终删除了init.py文件以获得其他工作,但是在读取skyblue.settings文件后,它似乎仍然被视为一个模块,即使我删除了init文件。