用户登录时Django部署wsgi 500错误

Django deploy wsgi 500 error when user logging in

我使用 Django 1.8 和 apache 2.2。我安装了 mod_wsgi,除用户身份验证外一切正常。 我可以尝试使用错误的密码登录(它将检查并返回错误密码)只有当用户名和密码正确时,我才会收到 500 错误。 我尝试了以下 settings.py

import os
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Map' 
)

TEMPLATE_CONTEXT_PROCESSORS = TCP + (
'django.core.context_processors.request',
'django.core.context_processors.auth',
'django.core.context_processors.debug',
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages"

 )

 MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)

ROOT_URLCONF = 'MyApp.urls'

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
        ],
    },
 },
]

WSGI_APPLICATION = 'MyApp.wsgi.application'

在启用的 apache 站点中:

<VirtualHost *:80>
 ServerName  myapp.org

 WSGIScriptAlias / /home/MyApp/wsgi.py
 Alias /static/ /home/MyApp/static/

 <Directory /home/MyApp/static> 

       Order allow,deny
       Allow from all
 </Directory>


 <Directory /home/MyApp/>
     <Files wsgi.py>
         Order allow,deny
         Allow from all
 </Files>
 </Directory>

 ErrorLog /var/log/apache2/error.log
 LogLevel warn
 CustomLog /var/log/apache2/MyApp.log combined

</VirtualHost>

错误只有发生在登录应该成功的时候。 我是否缺少任何设置?

最后看来apache对sqlite数据库没有写权限。我通过以下方式解决了这个问题: chown www-data:www-data /srv/mysite chown www-data:www-data /srv/mysite/DATABASE.sqliteniekas.

的答案所示