IIS не связывается с Django с PyISAPIe - PullRequest
3 голосов
/ 14 апреля 2010

Я пытаюсь запустить сайт с Django на сервере на базе IIS. Я следовал всем инструкциям на основном сайте (http://code.djangoproject.com/wiki/DjangoOnWindowsWithIISAndSQLServer), и дважды проверил это с очень хорошей статьей (http://www.messwithsilverlight.com/2009/11/django-on-windows-server-2003-and-iis6/).

Я успешно установил IIS для чтения файлов .py. Следуя основным инструкциям, я могу заставить сервер отображать Info.py. Тем не менее, я не могу заставить IIS и Django играть хорошо. Если, например, мой виртуальный каталог - «abc», то если я перехожу к «localhost / abc /», браузер просто показывает мне каталог содержимого для этой папки. Кроме того, если мои URL-адреса настроены таким образом, чтобы «/ dashboard / 1» приводила меня на определенную страницу, то при вводе «localhost / abc / dashboard / 1» выдается ошибка «страница не может быть отображена».

Я вполне уверен, что IIS просто не ссылается на Django или вообще не взаимодействует с ним. У кого-нибудь есть идеи как это исправить?

Спасибо

Ответы [ 2 ]

2 голосов
/ 11 января 2013

Вот оригинальные инструкции, которым я следовал,

основные инструкции: https://code.djangoproject.com/wiki/DjangoOnWindowsWithIISAndSQLServer Дополнительные советы: http://whelkaholism.blogspot.ca/

  1. Первое, что вы должны сделать, это установить Python 2.5 или 2.6, для 2.7 вам нужно перекомпилировать PyISAPIe, чего я не сделал. http://www.python.org/ftp/python/2.6/python-2.6.msi
  2. Вам необходимо установить версию PyISAPIe, которая будет соответствовать вашей версии Python Interpreter. Если они не совпадают, произойдет сбой. Получите это там: http://sourceforge.net/projects/pyisapie/files/pyisapie/
  3. Переместить извлеченную папку с последнего шага в подходящее место (т.е. C:)
  4. Вам нужно изменить настройки безопасности PyISAPIe.dll, они предлагают чтение сетевой службы, но я установил всем, чтобы убедиться, что с этим нет проблем
  5. Затем вам нужно ВЫРЕЗАТЬ И ВСТАВИТЬ (Важно) папку Http PyISAPIe в Lib \ Site-Packages вашего установочного каталога Python
  6. Далее вы настраиваете IIS (откройте менеджер с inetmgr в рабочем режиме (winkey + r):
    • Добавить новый виртуальный каталог и разрешить выполнение расширений ISAPI по запросу мастера
    • Добавьте новое расширение с подстановочными знаками в свойстве вашего виртуального каталога, снимите флажок с установкой файла
    • Добавьте расширение веб-службы в IIS Manager, указывая на dll, убедитесь, что оно разрешено
  7. Из папки PyISAPIe скопируйте примеры \ django \ Isapi.py и вставьте его в Lib \ Site-Packages \ Http
  8. В Isapi.py укажите путь (например, c: \ inetpub \ wwwroot \ web_site \ django_project) и DJANGO_SETTINGS_MODULE (т.е. django_app .settings)
  9. Когда в файлы вносятся изменения, используйте iisreset в командной строке, чтобы применить изменения

Вот некоторые другие вещи, которые вы могли бы сделать

  • Убедитесь, что путь к вашему файлу БД (если используется sqlite) в порядке
  • Сделайте то же самое с настройками расположения шаблона
  • В ваших файлах urls и html убедитесь, что путь начинается с имени, которое вы дали псевдониму виртуального каталога (например, web_site в нашем примере)

Наконец, вы можете столкнуться с трудностями при обслуживании вашего CSS. Если у вас возникли проблемы, сообщите мне, и я обновлю свой пост.

0 голосов
/ 15 апреля 2010

Обслуживание Django на любом веб-сервере в основном включает три ключевые детали:

  1. Говорит веб-серверу: «Я хочу тебя обслуживать контент, предоставленный этот модуль, который вызывает Python "
  2. Сообщение модулю python: «Я хочу, чтобы вы выполнили код Python используя детали в этом файле "
  3. Говоря файлу "Я хочу, чтобы вы использовали Django"

Если вы получаете список каталогов для своего виртуального каталога, то вам, вероятно, следует изучить настройки VD, чтобы убедиться, что PyISAPIe настроен для этого каталога (подробности ключа # 1).

Из статьи, которую вы упомянули:

  • Откройте консоль управления IIS, создайте новый виртуальный каталог и разрешить выполнение расширений ISAPI, когда подсказано волшебником.

    • Просмотрите свойства новой папки и нажмите на кнопка "настройка" (если она серого цвета нажмите сначала «создать»), затем добавьте новое расширение подстановочного знака (нижний поле), найдите файл pyisapie.dll и снимите флажок «проверить, что файл существует» коробка.

    • В диспетчере IIS перейдите в раздел «Расширения веб-служб» и щелкните правой кнопкой мыши -> добавить новый веб-сервис расширение.

  • Дайте ему имя (неважно, что), добавьте pyisapie.dll заполните как необходимый файл и проверьте поле, чтобы установить статус расширения допускается.

...