设置模块

问题描述:

我想一个共享的主机部署我的Django项目的描述here设置模块

我有我的项目上的/ home /用户/网络/种皮

我使用这个脚本


#!/usr/bin/python 
import sys, os 

sys.path.append("/home/user/bin/python") 

sys.path.append('/home/user/www/testa') 


os.chdir("/home/user/www/testa") 

os.environ['DJANGO_SETTINGS_MODULE'] = "settings.py" 

from django.core.servers.fastcgi import runfastcgi 
runfastcgi(method="threaded", daemonize="false") 

这里是我得到的错误试图从shell中运行它时:


WSGIServer: missing FastCGI param REQUEST_METHOD required by WSGI! 
WSGIServer: missing FastCGI param SERVER_NAME required by WSGI! 
WSGIServer: missing FastCGI param SERVER_PORT required by WSGI! 
WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI! 
Traceback (most recent call last): 
    File "build/bdist.linux-i686/egg/flup/server/fcgi_base.py", line 558, in run 
    File "build/bdist.linux-i686/egg/flup/server/fcgi_base.py", line 1118, in handler 
    File "/home/user/lib/python2.4/site-packages/django/core/handlers/wsgi.py", line 230, in __call__ 
    self.load_middleware() 
    File "/home/user/lib/python2.4/site-packages/django/core/handlers/base.py", line 33, in load_middleware 
    for middleware_path in settings.MIDDLEWARE_CLASSES: 
    File "/home/user/lib/python2.4/site-packages/django/utils/functional.py", line 269, in __getattr__ 
    self._setup() 
    File "/home/usr/lib/python2.4/site-packages/django/conf/__init__.py", line 40, in _setup 
    self._wrapped = Settings(settings_module) 
    File "/home/user/lib/python2.4/site-packages/django/conf/__init__.py", line 75, in __init__ 
    raise ImportError, "Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e) 
ImportError: Could not import settings 'settings.py' (Is it on sys.path? Does it have syntax errors?): No module named settings.py 
Content-Type: text/html 



Unhandled Exception 

Unhandled Exception

An unhandled exception was thrown by the application.

我在做什么错?

从浏览器运行脚本只是给我一个内部服务器错误。

线

os.environ['DJANGO_SETTINGS_MODULE'] = "settings.py" 

应该更像

os.environ['DJANGO_SETTINGS_MODULE'] = "settings" 

根据你如何设置sys.path。该环境变量应该包含模块的路径,因为它应该由Python导入,而不是模块的实际文件名。

基本上,你有现在的方法是制定Django的做这样的事情在内部:

import settings.py 

即,它试图从settings模块内部导入py模块。