我已经安装了Python,可以在命令行运行脚本了。但我想用它构建网页,并使用Django框架。
我已经阅读了很多关于如何设置和运行django的文档。大部分工作都是用apt-get-install完成的,它确实安装了所有需要的东西,但vhost配置我遇到了问题。目前我收到一个500服务器错误,在错误日志中我看到一个导入错误。
以下是完整的vhost文件:
<VirtualHost *:80>
ServerAdmin richtestani@mac.com
ServerName friendflix.me
ServerAlias www.friendflix.me
DocumentRoot "/srv/www/friendflix.me/public_html/"
ErrorLog /srv/www/friendflix.me/logs/error.log
CustomLog /srv/www/friendflix.me/logs/access.log combined
WSGIScriptAlias / /srv/www/friendflix.me/application/django.wsgi
<Directory /srv/www/friendflix.me/application>
Order allow,deny
Allow from all
</Directory>
<Location "/application">
SetHandler python-program
PythonOption django.root /application
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE settings
PythonPath "['/srv/www/friendflix.me/application', '/srv/www/friendflix.me/publ$
PythonDebug On
</Location>
Alias /static /srv/www/friendflix.me/public_html/static
</VirtualHost>
error.log 的尾部
[Sun Jun 19 21:28:07 2011] [error] [client 74.89.144.194] self.load_middleware()
[Sun Jun 19 21:28:07 2011] [error] [client 74.89.144.194] File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py", line 39, in load_middleware
[Sun Jun 19 21:28:07 2011] [error] [client 74.89.144.194] for middleware_path in settings.MIDDLEWARE_CLASSES:
[Sun Jun 19 21:28:07 2011] [error] [client 74.89.144.194] File "/usr/local/lib/python2.6/dist-packages/django/utils/functional.py", line 276, in __getattr__
[Sun Jun 19 21:28:07 2011] [error] [client 74.89.144.194] self._setup()
[Sun Jun 19 21:28:07 2011] [error] [client 74.89.144.194] File "/usr/local/lib/python2.6/dist-packages/django/conf/__init__.py", line 42, in _setup
[Sun Jun 19 21:28:07 2011] [error] [client 74.89.144.194] self._wrapped = Settings(settings_module)
[Sun Jun 19 21:28:07 2011] [error] [client 74.89.144.194] File "/usr/local/lib/python2.6/dist-packages/django/conf/__init__.py", line 89, in __init__
[Sun Jun 19 21:28:07 2011] [error] [client 74.89.144.194] raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
[Sun Jun 19 21:28:07 2011] [error] [client 74.89.144.194] ImportError: Could not import settings 'settings' (Is it on sys.path?): No module named settings
应用程序(或至少)的目录结构
html根
/srv/www/friendflix.me/public_html
应用程序根
/srv/www/friendflix.me/application
Django/wsgi应用程序配置
/srv/www/friendflix.me/application/django.wsgi
Djang.wsgi脚本
import os
import sys
sys.path.append('/srv/www/friendflix.me/application')
os.environ['PYTHON_EGG_CACHE'] = '/srv/www/friendflix.me/.python-egg'
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
任何帮助来解决这个问题都将是伟大的-谢谢!富
来自文档:
DJANGO_SETTINGS_MODULE 的值应为Python路径语法,例如mysite.SETTINGS 指定设置
modpython基本配置
因此,如果您的项目(站点)名称为application
:
SetEnv DJANGO_SETTINGS_MODULE application.settings