0

我基本上遇到了本文中描述的相同错误,但该解决方案对我不起作用,因为我认为我的根本原因不同。

我绝对定义了我的数据库路径:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': '/var/www/myapp/database.db',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

尽管如此,我还是得到了没有这样的表:django_session。

当我运行时manage.py runserver,我没有收到错误。

我做了一些其他的事情只是为了尝试任何事情,但没有帮助:

  • manage.py 重置会话
  • 我删除了数据库并让它用syncdb重新创建
  • 我尝试了 chown apache:apache database.db 以及父目录 chown -R apache:apache myapp/
  • 我试过 chmod 777 database.db

我的 apache 配置如下所示:

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /var/www/html/
</VirtualHost>

<VirtualHost *:80>
  ServerName myserver.mydomain.local
  ServerAlias myserver.mydomain.local

  DocumentRoot /var/www/myapp

  WSGIScriptAlias / /var/www/myapp/myapp/wsgi.py

  <Directory "/var/www/myapp/">
    Allow from all
  </Directory>
</VirtualHost>

我写 /myapp 两次的原因是因为第一个只包含 DB 文件和 manage.py。该文件夹下包含应用程序,包括 wsgi.py

我还注意到,我必须在我的 wsgi.py 中添加两行以使其在 Apache 上运行,从 manage.py 运行应用程序时我不必添加:

import sys
sys.path.append(os.path.abspath(os.path.dirname(__file__) + "/../"))
4

1 回答 1

-1

我有完全相同的错误.....我的是一个Windows环境。只需复制并将 database.db 文件放在 apache 文件夹下。你可以尝试做同样的事情,看看是否有帮助。

于 2012-06-25T20:18:27.820 回答