2

django wsgi スクリプトに関連する問題に直面しています。2 つのアプリケーションに 2 つの virtualenv を使用しており、これら 2 つのアプリケーションをローカル サーバーに異なるポートでデプロイしました。最初のアプリケーションの Apache 構成ファイルは次のようになります。

listen 8081
WSGIPythonPath /home/user/app1:/home/user/virtual-env1/lib/python2.7/site-packages
<VirtualHost mylocalip:8081>

        ServerAdmin webmaster@localhost

        ServerName www.app1.com

        DocumentRoot /home/user/app1

        <Directory /home/user/app1/static-root>
                Options Indexes
                Order Allow,Deny
                Allow from all
                IndexOptions FancyIndexing
        </Directory>

       <Directory /home/user/app1>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all         
        </Directory>

        WSGIScriptAlias / /home/user/app1/django.wsgi
        WSGIPassAuthorization On
            Alias "/static" /home/user/workspace/app1/static_root

</VirtualHost>

2 番目のアプリケーションの Apache 構成はほぼ同じですが、virtual-env1 の代わりに、virtual-env2 と別のポートを使用しています。しかし、サーバーで 2 番目のアプリケーションを実行すると、このエラーが発生しました。

**AttributeError at /**
  'Settings' object has no attribute 'DB_FILES'
         Request Method:    GET
         Request URL:   http://mylocalip:8091/
         Django Version:    1.4.3
         Exception Type:    AttributeError
         Exception Value:   'Settings' object has no attribute 'DB_FILES'
         Exception Location: /home/user/virtual-env1/lib/python2.7/site-packages/django/utils/functional.py in inner, line 185
         Python Executable: /usr/bin/python
         Python Version:    2.7.2
         Python Path:   
         ['/home/user/virtual-env1/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg',
         '/home/user/virtual-env1/lib/python2.7/site-packages/pip-1.1-py2.7.egg',
         '/home/user/app1',
         '/home/user/virtual-env1/lib/python2.7/site-packages',
         '/usr/local/lib/python2.7/dist-packages/pip-1.1-py2.7.egg',
         '/usr/local/lib/python2.7/dist-packages',
         '/usr/lib/python2.7',
         '/usr/lib/python2.7/plat-linux2',
         '/usr/lib/python2.7/lib-tk',
         '/usr/lib/python2.7/lib-old',
         '/usr/lib/python2.7/lib-dynload',
         '/usr/local/lib/python2.7/dist-packages',
         '/usr/lib/python2.7/dist-packages',
         '/usr/lib/python2.7/dist-packages/PIL',
         '/usr/lib/python2.7/dist-packages/gst-0.10',
         '/usr/lib/python2.7/dist-packages/gtk-2.0',
         '/usr/lib/pymodules/python2.7',
         '/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
         '/usr/lib/python2.7/dist-packages/ubuntuone-client',
         '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
         '/usr/lib/python2.7/dist-packages/ubuntuone-couch',
         '/usr/lib/python2.7/dist-packages/ubuntuone-installer',
         '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol',
         '/home/user/app2',
         '/home']

私の django.wsgi ファイルは次のようになります。

import os, sys

apache_configuration = os.path.dirname (__file__)

project = os.path.dirname (apache_configuration)

workspace = os.path.dirname (project)

sys.path.append ("/home/user/app2")

sys.path.append (workspace)

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


import django.core.handlers.wsgi

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

サーバーが virtual-env2 ではなく virtual-env1 を参照している理由がわかりません。私はdjangoとwsgiが初めてなので、助けてください。

4

1 に答える 1