Я только начинаю возиться с Джанго. Сначала я сделал небольшое приложение на своем компьютере с Windows и убедился, что оно работает нормально.
Затем я заархивировал весь проект и открыл zip на машине с Linux.
Конечно, машина с Linux была установлена с mod_wsgi и django 1.1.1.
Я создал следующие каталоги:
/usr/local/bin/ROOT
- содержит только один файл, django.wsgi
/usr/local/bin/ROOT/myapp
- корневой каталог приложения django
В соответствии с инструкциями здесь я добавил к httpd.conf
:
<VirtualHost *:80>
ServerName server
ServerAlias server
ServerAdmin webmaster@example.com
WSGIScriptAlias /myapp /usr/local/bin/ROOT/django.wsgi
<Directory /usr/local/bin/ROOT/>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Теперь по инструкции здесь Я вставил /usr/local/bin/ROOT/django.wsgi
:
import os
import sys
path = '/usr/local/bin/ROOT'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Если это имеет какое-либо значение: для PYTHOHPATH ничего не установлено до запуска приложения.
После этого я сделал изящный перезапуск для apache и перешел на сервер / myapp. Я получил ошибку 500
Смотря в журнале я вижу:
[Sun Dec 05 12:24:17 2010] [error] [client XXXX] ImproperlyConfigured: Error importing middleware django.middleware.csrf: "No module named csrf"
Что я делаю не так? все остальные потоки, которые я нашел по этому поводу, всегда либо заканчиваются выводом, что это старая версия django (но моей версии 1.1.1), либо что запущено несколько приложений, но у меня только одно ...
Помощь?