简体   繁体   English

具有FastCGI Cant查找功能的Django

[英]Django With FastCGI Cant Find Settings

Alright I am trying to delpoy django on my web server using fastcgi. 好的,我正在尝试使用fastcgi在我的Web服务器上分配django。 I am nearly completed, but for some reason when I run the fastcgi script it cannot locate my settings.py. 我快完成了,但是由于某些原因,当我运行fastcgi脚本时,它找不到我的settings.py。

Here is the error I get: 这是我得到的错误:

ImportError: Could not import settings 'skyblue.settings' (Is it on sys.path?): No module named settings

dispatch.fcgi: 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")

After banging my head against the wall something clicked. 将我的头撞到墙上后,有些声音响了起来。 I realized that python wasn't seeing skyblue.settings as a python module. 我意识到python并未将skyblue.settings视为python模块。 So I added an __ init __ .py file to the skyblue directory. 所以我在blueblue目录中添加了一个__ init __ .py文件。 Django does create an __ init __.py file in skyblue/skyblue, but not in the first directory. Django确实在skyblue / skyblue中创建了__ init __.py文件,但不在第一个目录中。 I don't know why the fastcgi script couldn't figure this out from the PYTHONPATH, but whatever I finally have Django depolyed on my Apache shared hosting account using FCGI. 我不知道为什么fastcgi脚本无法从PYTHONPATH中找出问题,但是无论如何我最终还是使用FCGI在我的Apache共享托管帐户上取消了Django的配置。

Just a note I did end up deleting the init.py file to get something else to work, but it seems after reading the skyblue.settings file initially it was still seen as a module even after I deleted the init file. 只是注意,我确实删除了init.py文件以使其他工作正常工作,但是在最初阅读skyblue.settings文件之后,即使删除了init文件后,它似乎仍被视为一个模块。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM