Django ImportError: не удалось импортировать настройки «настройки» - нет модуля с именем csrf - PullRequest
0 голосов
/ 05 декабря 2010

Я только начинаю возиться с Джанго. Сначала я сделал небольшое приложение на своем компьютере с 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), либо что запущено несколько приложений, но у меня только одно ...

Помощь?

Ответы [ 2 ]

1 голос
/ 05 декабря 2010

1.1.1 - это старая версия Django (текущая версия 1.2.3), и это почти наверняка является причиной вашей проблемы.В 1.1.1 нет django.middleware.csrf.

1 голос
/ 05 декабря 2010

"django.middleware.csrf" - это пакет в Django 1.2.x

. Для настроек CSRF в Django 1.1.x прочтите соответствующие документы Здесь

Пакетв 1.1.x было "django.contrib.csrf.middleware.CsrfMiddleware"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...