Развертывание Django в веб-приложении Azure Windows - PullRequest
0 голосов
/ 16 января 2019

У меня был проект веб-приложения Django (Python 2.7), работающий и работающий в службах приложения Azure.

Я обновил Python до Python 3.6 (64-разрядная версия), убедившись, что проект работает на моем локальном хосте, я развернул его в Azure.

После развертывания я получаю эту ошибку:

Страница не может быть отображена, поскольку произошла внутренняя ошибка сервера

Поискал в интернете и установил расширение Python 3.6.

В ленте стримеров я вижу, что ошибка:

"ModuleNotFoundError: No module named 'django'"

Я сравнил новое развертывание со своим старым, и единственное отличие, которое я вижу, состоит в том, что в новом развертывании я не вижу виртуальную среду.

Нужно ли устанавливать виртуальную среду самостоятельно? и если так, что произойдет, когда я буду обновлять свой проект и добавлять библиотеки каждый раз, когда буду делать это вручную?

1 Ответ

0 голосов
/ 17 января 2019

Судя по предоставленной вами ошибке: ModuleNotFoundError: No module named 'django', похоже, у вас проблема с установкой пакета модуля. Вы можете обратиться к моим рабочим шагам и проверить, что вы что-то упустили.

Шаг 1: Следуйте официальному руководству , чтобы создать веб-приложение Azure Python.

Шаг 2: Добавить расширение Python.

Конечно, вы можете выбрать желаемую версию.

enter image description here

Шаг 3: Добавьте web.config файл и разверните свое веб-приложение.

<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="<your project name>.wsgi.application"/>
    <add key="PYTHONPATH" value="D:\home\site\wwwroot"/>
    <add key="WSGI_LOG" value="D:\home\LogFiles\wfastcgi.log"/>
  </appSettings>
  <system.webServer>
    <handlers>
      <add name="PythonHandler" path="handler.fcgi" verb="*" modules="FastCgiModule" scriptProcessor="D:\home\python361x64\python.exe|D:\home\python361x64\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
    </handlers>
    <rewrite>
      <rules>
        <rule name="Static Files" stopProcessing="true">
          <conditions>
            <add input="true" pattern="false" />
          </conditions>
        </rule>
        <rule name="Configure Python" stopProcessing="true">
          <match url="(.*)" ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_URI}" pattern="^/static/.*" ignoreCase="true" negate="true" />
          </conditions>
          <action type="Rewrite" url="handler.fcgi/{R:1}" appendQueryString="true" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Шаг 4: Установите pip plugin в свой python extension environment.

Переключитесь на CMD Kudu и введите команду cd Python361x64, коснитесь get-pip.py и скопируйте содержимое URL https://bootstrap.pypa.io/get-pip.py в get-pip.py с помощью кнопки «Редактировать», затем запустите python get-pip. py, чтобы установить инструмент pip.

Шаг 5: Установите django модуль и другие модули, которые вы хотите использовать.

Выше двух шагов, пожалуйста, обратитесь к моему предыдущему случаю: pyodbc в Azure


Просто для краткости здесь, это отсортировано путем изменения <add key="WSGI_HANDLER" value="<your project name>.wsgi.application"/> на django.core.wsgi.get_wsgi_application().

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