0

我试图配置我的 Django 站点,以便它由 Apache 提供服务。

文件夹布局

`-- django
    |
    `-- webtools
        |-- 1
        |-- __init__.py
        |-- __init__.pyc
        |-- apache
        |   `-- django.wsgi
        |-- macmonster
        |   |-- __init__.py
        |   |-- __init__.pyc
        |   |-- models.py
        |   |-- models.pyc
        |   |-- tests.py
        |   |-- views.py
        |   `-- views.pyc
        |-- manage.py
        |-- modules
        |   |-- __init__.py
        |   |-- __init__.pyc
        |   |-- macaddr.py
        |   |-- macaddr.pyc
        |   |-- validate.py
        |   `-- validate.pyc
        |-- settings.py
        |-- settings.pyc
        |-- urls.py
        `-- urls.pyc

/etc/httpd/conf.d/django.conf

<VirtualHost *:80 >
  ServerName direct.macmonster.co.uk
  WSGIScriptAlias / /opt/django/webtools/apache/django.wsgi
</VirtualHost>

/opt/django/webtools/apache/django.wsgi

import os, sys

sys.path.append('/opt/django/webtools')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

我目前在日志中遇到的主要错误是:

TemplateSyntaxError: Caught ImportError while rendering: No module named webtools.macmonster

谢谢,

4

2 回答 2

3

如果 webtools 是您的顶级包,您应该添加/opt/django到.sys.path而不是/opt/django/webtools.

于 2013-02-18T17:59:03.607 回答
0

这个配置对我有用。这应该适合你。

import os, sys

root = os.path.join(os.path.dirname(__file__),'..')
sys.path.insert(0,root)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "webtools.settings")

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
于 2016-04-30T13:48:48.450 回答