导入错误:无法'mysite.settings'导入设置(是否在 sys.path 上?):没有名为 mysite.settings 的模块



编辑以尝试使用第一个答案进行故障排除。

现在我被禁止使用403。这就是我所拥有的:

<VirtualHost ip:80>
    ServerAdmin admin
    ServerName name
WSGIScriptAlias / /home/django/mysite/mysite/wsgi.py
<Directory /home/django/mysite/mysite>
<Files wsgi.py>
     Require all granted
</Files>
</Directory>
</VirtualHost>

我有一个用户创建的"django"/home/django,所有子目录都有"django-"的权限。应该是这样的,对吗?

我正在运行django 1.6.2

/home/django包含mysite,"/home/djano/mysite"包含manage.py。/home/dgano/mysite/mysite/contents、init、urls和wsgi.py。

wsgi.py包含:

import os
import sys
sys.path.insert(0,'/home/django/mysite')
os.environ["DJANGO_SETTINGS_MODULE"] =  "mysite.settings"
# NOTICE: the following may only work well in django version 1.5 1.6
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

我做错了什么?为什么我被禁止?:(wsgi.py需要是用户/组apache吗?

如果重要的话,服务器版本:Apache/2.2.15

它可能与mod_userdir.c有关吗?

我通常使用mod_wsgiwsgi.py中编写

*.conf(Apache版本>=2.4)中的配置:

<VirtualHost *:80>
        ServerName example.com
        ServerAdmin example@example.com
        Alias /media/ /home/tu/blog/media/
        Alias /static/ /home/tu/blog/collected_static/
        <Directory /home/tu/blog/media>
                Require all granted
        </Directory>
        <Directory /home/tu/blog/collected_static>
                Require all granted
        </Directory>
        WSGIScriptAlias / /home/tu/blog/blog/wsgi.py
        <Directory /home/tu/blog/blog>
        <Files wsgi.py>
                Require all granted
        </Files>
        </Directory>
</VirtualHost>

如果您使用Apache 2.2,请使用

Order allow,deny
Allow from all

而不是

Require all granted

wsgi.py(取决于您的django版本)

import os
import sys
sys.path.insert(0,'/path/to/project/')
os.environ["DJANGO_SETTINGS_MODULE"] =  "project.settings"
# NOTICE: the following may only work well in django version 1.5 1.6
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

也就是说,将你的django项目视为一个python包,sys.path用于告诉python项目在哪里。

最新更新