Поделиться через


Шаблоны проектов веб-приложений Python

Python в Visual Studio поддерживает разработку веб-проектов в платформах Bottle, Flask и Django с помощью шаблонов проектов и средства запуска отладки, которые можно настроить для обработки различных платформ. Эти шаблоны включают файл requirements.txt для объявления необходимых зависимостей. При создании проекта из одного из этих шаблонов Visual Studio предложит установить зависимые пакеты, как описано далее в этой статье.

Вы также можете использовать универсальный шаблон веб-проекта для других платформ, таких как Пирамида. В этом случае платформы не устанавливаются с шаблоном. Вместо этого необходимо установить необходимые пакеты в среду, которую вы используете для проекта. Дополнительные сведения см. в окне сред Python — вкладка "Пакет".

Параметры шаблона проекта

Создайте проект из шаблона, выбрав "Файл>нового>проекта " в меню панели инструментов. В диалоговом окне "Создание проекта " можно отфильтровать список шаблонов, чтобы просмотреть параметры, доступные для веб-проектов Python. Введите ключевые термины в поле поиска или используйте раскрывающееся меню фильтра, чтобы выбрать Python в качестве языка и веб-типа проекта.

Снимок экрана: диалоговое окно

После выбора шаблона укажите имя проекта и решения и задайте параметры каталога решения и репозитория Git.

Шаблон общего веб-проекта предоставляет пустой проект Visual Studio без кода и предполагает лишь, что он является проектом Python. Другие шаблоны основаны на веб-платформах Bottle, Flask или Django и группируются в три категории, как описано в следующих разделах. Приложения, созданные любым из этих шаблонов, содержат достаточный код для запуска и отладки приложения локально. Каждый шаблон также предоставляет необходимый объект приложения WSGI (python.org) для использования с рабочими веб-серверами.

Пустая группа

Все шаблоны веб-проектов blank <фреймворка> создают проект с почти минимальным стандартным кодом и необходимыми зависимостями, объявленными в файле requirements.txt.

Template Description
Blank Bottle Web Project Создает минимальное приложение в файле app.py с главной страницей для / и /hello/<name> страницей, которая отображает значение <name>, используя короткий встроенный шаблон страницы.
Пустой веб-проект Django Создает проект Django с основной структурой сайта Django, но не приложения Django. Дополнительные сведения см. в шаблонах Django и на шаге 1 Django.
Пустой веб-проект Flask Создает минимальное приложение с одной страницей "Hello World!" в расположении /. Это приложение похоже на результат выполнения следующих подробных действий в кратком руководстве. Используйте Visual Studio для создания первого веб-приложения Python. Дополнительные сведения см. в статье Learn Flask Step 1.

Веб-группа

Все <шаблоны веб-проектов Framework> создают начальное веб-приложение с одинаковым дизайном независимо от выбранной платформы. Приложение содержит страницы "Главная", "О нас" и "Контакт", а также панель меню навигации и адаптивный дизайн, использующий Bootstrap. Каждое приложение правильно настроено для обслуживания статических файлов (CSS, JavaScript и шрифтов) и использует механизм шаблона страницы, подходящий для платформы.

Template Description
Bottle Web Project Создает приложение, статические файлы которого содержатся в статической папке и обрабатываются с помощью кода в файле app.py . Маршрутизация отдельных страниц содержится в файле routes.py . Папка views содержит шаблоны страниц.
Веб-проект Django Создает проект Django и приложение Django с тремя страницами, поддержкой проверки подлинности и базой данных SQLite (но не модели данных). Дополнительные сведения см. в шаблонах Django и Учебнике Django, шаг 4.
Веб-проект Flask Создает приложение, статические файлы которого содержатся в статической папке. Код в файле views.py обрабатывает маршрутизацию с помощью шаблонов страниц, использующих обработчик Jinja, содержащийся в папке шаблонов . Файл runserver.py предоставляет код запуска.

Требования для установки

При создании проекта из шаблона для конкретной платформы Visual Studio предоставляет диалоговое окно для установки необходимых пакетов с помощью pip. Мы также рекомендуем использовать виртуальную среду для веб-проектов, чтобы обеспечить включение правильных зависимостей при публикации веб-сайта:

Снимок экрана: диалоговое окно установки пакетов для шаблона проекта в Visual Studio.

Если вы используете управление версиями, обычно исключите папку виртуальной среды, так как эту среду можно заново создать только с помощью файла requirements.txt. Лучший способ исключить папку — это сначала выбрать вариант Я установлю их самостоятельно, затем отключить автоматическое сохранение перед созданием виртуальной среды. Дополнительные сведения см. в разделе "Изучение элементов управления Git " в руководстве по обучению Django и учебнике по Learn Flask.

При развертывании в Службе приложений Microsoft Azure выберите версию Python в качестве расширения сайта и вручную установите пакеты. Кроме того, так как служба приложений Azure не устанавливает пакеты из requirements.txt-файла при развертывании из Visual Studio, следуйте сведениям о конфигурации aka.ms/PythonOnAppService.

Параметры отладки

При открытии веб-проекта для отладки Visual Studio запускает локальный веб-сервер на случайном порту и открывает браузер по умолчанию для этого адреса и порта. Чтобы указать дополнительные параметры, щелкните проект правой кнопкой мыши в обозревателе решений, выберите "Свойства". На странице "Свойства" выберите вкладку "Отладка ".

Снимок экрана: свойства средства запуска веб-сайтов для универсального веб-шаблона в Visual Studio.

Существует три группы распространенных параметров конфигурации для отладки проекта. Группа Run включает следующие свойства:

  • Параметры пути поиска, аргументы скрипта, путь интерпретатора и аргументы интерпретатора совпадают с параметрами обычной отладки.
  • URL-адрес запуска указывает URL-адрес, который открывается в браузере. Расположение по умолчанию — localhost.
  • Номер порта определяет используемый порт, если ни один из них не указан в URL-адресе (Visual Studio выбирает его автоматически по умолчанию). Этот параметр позволяет переопределить значение по умолчанию переменной SERVER_PORT среды, которая используется шаблонами для настройки порта, на котором прослушивается локальный сервер отладки.
  • Список среды определяет переменные, которые нужно установить в порожденном процессе. Формат — это список пар, разделённых новой строкой <NAME>=<VALUE>.

Свойства в группах команд запуска сервера и команд отладки сервера определяют, как запускается веб-сервер. Так как для многих платформ требуется использование скрипта за пределами текущего проекта, скрипт можно настроить здесь, а имя модуля запуска можно передать в качестве параметра.

  • Команда может быть скриптом Python (*.py файлом), именем модуля (как в python.exe -m module_name), или одной строкой кода (как в python.exe -c "code"). Значение в раскрывающемся списке указывает, какой тип предназначен.
  • Список аргументов передается в командной строке после команды.
  • Опять же, список среды определяет переменные для задания всех свойств, которые могут изменить среду, например номер порта и пути поиска. Эти значения переменных могут перезаписать другие значения свойств.

Любое свойство проекта или переменная среды можно указать с помощью синтаксиса MSBuild, например $(StartupFile) --port $(SERVER_PORT). $(StartupFile) — относительный путь к файлу запуска и {StartupModule} является импортируемым именем файла запуска. $(SERVER_HOST) и $(SERVER_PORT) являются обычными переменными среды, которые задаются свойствами URL-адреса запуска и номера портов , автоматически или свойством Environment .

Замечание

Значения в команде Run Server используются с командой "Отладка>Запустить сервер" или сочетанием клавиш Ctrl+F5. Значения в группе команд сервера отладки используются с командой>Запуск сервера отладки или F5.

Пример конфигурации бутылки

Шаблон Bottle Web Project включает стандартный код, который выполняет всё необходимое для конфигурации. Импортированное приложение Bottle может не включать этот код, однако в этом случае следующие параметры запускают приложение с помощью установленного модуля bottle:

  • Группа «Запуск команды сервера»:

    • Команда: bottle (модуль)
    • Аргументы: --bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app
  • Группа команд отладки сервера :

    • Команда: bottle (модуль)
    • Аргументы--debug --bind=%SERVER_HOST%:%SERVER_PORT% {StartupModule}:app

Этот --reload параметр не рекомендуется использовать при использовании Visual Studio для отладки.

Пример конфигурации пирамиды

Пирамидальные приложения в настоящее время лучше всего создаются с помощью средства командной pcreate строки. После создания приложения его можно импортировать с помощью существующего шаблона кода Python . После завершения импорта выберите настройку универсального веб-проекта , чтобы настроить параметры. Эти параметры предполагают, что Пирамида устанавливается в виртуальную среду в расположении ..\env .

  • Группа выполнения :

    • Номер порта: 6543 (или все, что настроено в файлах.ini )
  • Run Server Command группа:

    • Команда: ..\env\scripts\pserve-script.py (скрипт)
    • Аргументы: Production.ini
  • Группа команд отладки сервера :

    • Команда: ..\env\scripts\pserve-script.py (скрипт)
    • Аргументы: Development.ini

Подсказка

Скорее всего, необходимо настроить свойство Рабочего каталога проекта, так как приложения Пирамиды обычно являются одной папкой под корнем проекта.

Другие конфигурации

Если у вас есть параметры другой платформы, к которым вы хотите предоставить общий доступ или хотите запросить параметры другой платформы, откройте проблему на сайте GitHub.