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


Учебник: Работа с веб-фреймворком Django в Visual Studio

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

На шаге 1 руководства вы узнаете, как:

  • Создайте проект веб-приложения Django, используя шаблон пустого Django веб-проекта.
  • Изучите стандартный код и запустите приложение
  • Создание репозитория Git для веб-приложения Django
  • Работа с элементами управления исходным кодом Git
  • Создание виртуальной среды для веб-приложения Django

Необходимые условия

  • Visual Studio 2022 в Windows со следующими параметрами, выбранными в Visual Studio Installer:

    • На вкладке Рабочие нагрузки выберите Разработка на Python. Дополнительные сведения см. в статье Установка поддержки Python в Visual Studio.

    • На вкладке Отдельные компоненты в разделе средств кодавыберите параметр Git для Windows.

  • Visual Studio 2017 или более поздней версии в Windows со следующими параметрами, выбранными в установщике Visual Studio:

    • На вкладке Рабочие нагрузки выберите Разработка на Python. Дополнительные сведения см. в статье Установка поддержки Python в Visual Studio.

    • На вкладке Отдельные компоненты в разделе Средства кодавыберите опции Git для Windows и GitHub-расширение для Visual Studio.

Шаблоны проектов Django в Visual Studio включены во все более ранние версии средств Python для Visual Studio. Сведения о шаблоне могут отличаться от описаний в этой серии учебников, особенно для более ранних версий веб-платформы Django.

Visual Studio для Mac не поддерживается. Дополнительные сведения см. в статье Что происходит с Visual Studio для Mac? Visual Studio Code в Windows, Mac и Linux хорошо работает с Python с помощью доступных расширений.

Проекты Visual Studio и проекты Django

В терминологии Django проект Django содержит несколько файлов конфигурации уровня сайта вместе с одним или несколькими "приложениями". Чтобы создать полное веб-приложение, можно развернуть эти приложения на веб-узле. Проект Django может содержать несколько приложений, и одно и то же приложение может находиться в нескольких проектах Django.

Проект Visual Studio может содержать проект Django вместе с несколькими приложениями. В этой серии учебников термин "проект" относится к проекту Visual Studio. Когда содержимое относится к части веб-приложения Django, это относится к проекту Django, в частности.

Создание проекта и решения Visual Studio

На шаге 1 этого руководства вы создадите одно решение Visual Studio для хранения нескольких проектов Django. Каждый проект содержит одно приложение Django. Вы создаете проекты с помощью различных шаблонов проектов Django, включенных в Visual Studio. Сохраняя проекты в одном решении, вы можете легко переключаться между различными файлами для сравнения.

При работе с Django из командной строки обычно запускается проект, выполнив команду django-admin startproject <project_name>. В Visual Studio шаблон пустого веб-проекта Django предоставляет ту же структуру в проекте и решении Visual Studio.

Выполните следующую процедуру, чтобы создать решение и проект:

  1. В Visual Studio выберите Файл>Создать>Проект и найдите "Django". Затем выберите шаблон пустого веб-проекта Django и нажмите Далее.

    снимок экрана, на котором показано, как выбрать пустой шаблон веб-проекта Django в Visual Studio 2022.

  2. Настройте новый проект и решение:

    1. Задайте для имени проекта Visual Studio значение BasicProject. Это имя также используется для проекта Django.

    2. Укажите путь для сохранения решения и проекта в Visual Studio.

    3. Снимите флажок опции «Разместить решение и проект в одном каталоге».

    4. Задайте имени решения значение LearningDjango. Решение служит контейнером для нескольких проектов в этой серии руководств.

  3. Выберите Создать.

  4. Через некоторое время Visual Studio отображает сообщение: обнаружено, что файл спецификации пакета Python "requirements.txt" был найден в проекте "BasicProject". :.

    снимок экрана с подсказкой, указывающей, что файл требований для проекта обнаружен в Visual Studio.

    В диалоговом окне указывается, что выбранный шаблон содержит файл requirements.txt, который можно использовать для создания виртуальной среды для проекта.

  5. Выберите X справа, чтобы закрыть запрос. Далее в этом руководстве вы создадите виртуальную среду и убедитесь, что система контроля версий не включает среду. (Среда всегда может быть создана позже из файла requirements.txt.)

  1. В Visual Studio выберите файл>Создать>Проект и найдите "Django". Затем выберите шаблон Пустой веб-проект Django. (Шаблон также находится в диалоговом окне под Python>Web в списке слева.)

    снимок экрана, показывающий, как выбрать пустой шаблон веб-проекта Django в Visual Studio 2019.

  2. В нижней части диалогового окна настройте новый проект и решение:

    1. Задайте для имени проекта Visual Studio значение BasicProject. Это имя также используется для проекта Django.

    2. Укажите путь для сохранения решения и проекта в Visual Studio.

    3. Задайте имени решения значение LearningDjango. Решение служит контейнером для нескольких проектов в этой серии руководств.

    4. Выберите параметр Создать каталог для решения (по умолчанию).

    5. Выберите опцию Создать новый репозиторий Git. Visual Studio создает локальный репозиторий Git при создании решения.

      Если этот параметр не отображается, запустите установщик Visual Studio. На вкладке Отдельные компоненты в разделе Средства кодадобавьте параметры Git for Windows и GitHub Extension for Visual Studio.

  3. Нажмите кнопку ОК.

  4. Через некоторое время Visual Studio отображает запрос для этого проекта требуются внешние пакеты:

    снимок экрана запроса, указывающий, что для проекта требуются внешние пакеты Django в Visual Studio.

    В диалоговом окне указывается, что выбранный шаблон содержит файл requirements.txt, ссылающийся на последний пакет Django 1.x. Вы можете выбрать Показать необходимые пакеты, чтобы увидеть точные зависимости.

  5. Выберите опцию я установлю их сам, чтобы закрыть диалоговое окно. Далее в этом руководстве вы создадите виртуальную среду и убедитесь, что система контроля версий не включает среду. (Среда всегда может быть создана позже из файла requirements.txt.)

Проверка элементов управления Git

В следующей процедуре вы ознакомились с поддержкой Visual Studio для системы управления версиями Git.

Важный

В Visual Studio 2019 и более поздних версиях интерфейс управления версиями Git включен по умолчанию. Если вы хотите узнать больше о сравнение с Team Explorer, см. страницу с параллельным сравнением Git и Team Explorer.

Если вы предпочитаете продолжать использовать Team Explorer в более ранних версиях Visual Studio, перейдите к разделу Tools>Options>Environment>Preview Features и установите флажок New Git user experience.

  1. Чтобы зафиксировать проект в локальной системе контроля версий, выберите Добавить в систему управления версиями внизу справа в главном окне Visual Studio, а затем выберите Git:

    снимок экрана, на котором показано, как создать репозиторий Git в Visual Studio 2022.

    Откроется окно репозитория Create Git, где можно создать и отправить новый репозиторий.

  2. После создания репозитория панель элементов управления Git появится в правом нижнем углу главного окна Visual Studio:

    снимок экрана, на котором показаны элементы управления Git в правом нижнем углу главного окна Visual Studio.

    Слева направо на панели элементов управления Git отображается количество исходящих и входящих фиксаций (стрелки #/#), количество незафиксированных изменений (карандаш), имя текущей ветви и текущее имя репозитория. Элементы управления Git также доступны в меню Git на главной панели инструментов.

  3. На панели управления Git выберите значок изменений (карандаш), чтобы открыть окно изменений в Git. Вы также можете выбрать Просмотр>изменений Git (Ctrl+O, Ctrl+G):

    Снимок экрана окна изменений Git в Visual Studio, показывающий текущие фиксации, изменения и сохранённые объекты.

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

  4. На панели управления Git выберите коммиты (стрелки #/#), а затем выберите Просмотреть все коммиты:

    снимок экрана, показывающий, как открыть окно репозитория Git из панели элементов управления Git с помощью команды View All Commits.

    Откроется окно репозитория Git. Вы также можете выбрать представление>репозитория Git (CTRL+O, CTRL+R):

    снимок экрана с окном репозитория Git в Visual Studio.

    В этом окне отображаются сведения о текущем репозитории в левой области и текущая ветка с исходящими и входящими коммитами в правой области.

    Чтобы просмотреть различия для файла, выберите коммит на средней панели. Предыдущая версия отображается слева и измененная версия отображается справа. Сведения также содержат автора изменений, коммитера и сообщение коммита.

Поскольку вы выбрали опцию Create new Git repository в диалоговом окне New Project, проект уже добавлен в локальную систему контроля версий, как только процесс создания завершён. В этой процедуре вы ознакомитесь с элементами управления Git в Visual Studio и окном Team Explorer, в котором вы работаете с системой управления исходным кодом.

  1. Проверьте элементы управления Git в нижнем углу главного окна Visual Studio. Слева направо эти элементы управления отображают незафиксированные коммиты (стрелка #), незафиксированные изменения (карандаш #), имя репозитория и текущую ветвь:

    снимок экрана панели инструментов элементов управления Git в окне Visual Studio.

    Заметка

    Если вы не выберете Создать новый репозиторий Git в диалоговом окне New Project, панель управления Git отображает только команду Добавить в систему управления версиями, которая создает локальный репозиторий.

    снимок экрана, показывающий, как команда

  2. Выберите изменения (карандаш) и Visual Studio открывает окно Team Explorer на странице изменения. Так как только что созданный проект автоматически фиксируется в системе управления версиями, вы не видите никаких ожидающих изменений.

    снимок экрана окна Team Explorer на странице

  3. На строке состояния Visual Studio выберите коммиты (кнопка со стрелкой #), чтобы открыть страницу синхронизации в Team Explorer. Так как у вас есть только локальный репозиторий, страница предоставляет простые возможности для публикации репозитория в разных удаленных репозиториях.

    снимок экрана окна Team Explorer с доступными параметрами репозитория Git для системы контроля версий.

    Вы можете выбрать любую службу, которую вы хотите использовать для собственных проектов. В этом руководстве показано использование GitHub, где полный пример кода для учебника поддерживается в репозитории Microsoft/python-sample-vs-learning-django.

  4. Если выбрать любой из управляющих элементов публикации, Team Explorer запрашивает дополнительные сведения. Например, при публикации примера для этого руководства сначала создается сам репозиторий, где параметр push-отправки в удаленный репозиторий используется с URL-адресом репозитория.

    снимок экрана, показывающий окно Team Explorer для отправки в существующий удаленный репозиторий.

    Если у вас нет существующего репозитория, параметры Опубликовать в GitHub и Отправить в Azure DevOps позволяют вам создать его непосредственно в Visual Studio.

Совет

Чтобы быстро перейти в Team Explorer, выберите заголовок Изменения или Push, чтобы просмотреть всплывающее меню доступных страниц.

По мере работы с этим руководством показано, как периодически использовать элементы управления Git в Visual Studio для фиксации и отправки изменений. Шаги руководства напоминают вам в нужные моменты.

Использование системы управления версиями с самого начала

Существует несколько преимуществ использования системы контроля версий с начала проекта. При использовании системы управления версиями с начала проекта, особенно при использовании удаленного репозитория, вы получаете регулярное резервное копирование проекта вне сайта. В отличие от обслуживания проекта только в локальной файловой системе, система управления версиями также предоставляет полный журнал изменений и легко вернуть один файл или весь проект в предыдущее состояние. Журнал изменений помогает определить причину регрессии (сбои теста).

Управление версиями важно, если несколько человек работают над проектом, так как оно управляет перезаписями и обеспечивает разрешение конфликтов. Управление версиями является основополагающей формой автоматизации, создает хорошую основу для автоматизации сборок, тестирования и менеджмента выпусков. Это первый шаг в использовании Azure DevOps для проекта, и потому что барьеры для входа настолько низки, нет причин не использовать систему управления версиями с самого начала.

Дополнительные сведения об управлении версиями в качестве автоматизации см. в статье Источник истины: роль репозиториев в DevOps, статья в MSDN Magazine, написанная для мобильных приложений, которые также применяются к веб-приложениям.

Как предотвратить автоматическую фиксацию проектов в Visual Studio

Выполните следующие действия, чтобы предотвратить автоматическую фиксацию нового проекта Visual Studio:

  1. Выберите Средства>Параметры>Система Управления Версиями>Глобальные Настройки Git.

  2. Снимите флажок Фиксация изменений после слияния по умолчанию и нажмите кнопку ОК.

  1. Откройте страницу Параметры в Team Explorerи выберите >Глобальные параметры Git.

  2. Снимите флажок Зафиксировать изменения после слияния по умолчанию и выберите Обновить.

Создайте виртуальную среду и исключите систему управления версиями

После того как вы настроите управление версиями для вашего проекта, вы можете создать виртуальную среду с необходимыми для проекта пакетами Django. Затем можно использовать окно Git-изменений, чтобы исключить папку среды из системы контроля версий.

  1. В обозревателе решений щелкните правой кнопкой мыши на узле среды Python и выберите добавить среду.

    снимок экрана, на котором показано, как выбрать команду

  2. В диалоговом окне Добавление среды выберите Создать для принятия значений по умолчанию. (Если требуется, можно изменить имя виртуальной среды, что изменяет имя ее вложенной папки, но env является стандартным соглашением.)

    снимок экрана, на котором показано диалоговое окно

  3. Если Visual Studio запрашивает права администратора, предоставьте свое согласие. Подождите несколько минут, пока Visual Studio загружает и устанавливает пакеты. Для Django и его зависимостей процесс может потребовать расширения до 1000 файлов в более чем 100 вложенных папок. Вы можете просмотреть прогресс в окне вывода Visual Studio .

  4. На панели элементов управления Git выберите незафиксированные изменения (которые теперь отображаются 99+), чтобы открыть окно изменений Git:

    снимок экрана, который показывает, как просмотреть незафиксированные изменения для создания виртуальной среды в окне Git Changes.

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

  5. Чтобы исключить виртуальную среду из системы управления версиями, в окне Git Changes щелкните правой кнопкой мыши папку env и выберите Игнорировать эти локальные элементы:

    снимок экрана, показывающий, как игнорировать виртуальную среду в изменениях системы управления исходным кодом.

    После исключения виртуальной среды единственными оставшимися изменениями являются файл проекта (.py) и файл .gitignore, содержащий добавленную запись для папки виртуальной среды.

    Чтобы просмотреть представление различий для файла .gitignore, в окне изменений Git дважды щелкните файл.

  6. В окне Git Changes введите сообщение коммита, например "Первоначальные изменения проекта":

    снимок экрана, показывающий, как изменить сообщение фиксации и зафиксировать и отправить промежуточные фиксации в окне изменений Git.

  7. В раскрывающемся меню фиксации выберите "Зафиксировать этап" и "Отправить".

Вы можете открыть окно репозитория Git и подтвердить промежуточные фиксации в локальной истории для текущей ветви.

После того как вы настроите управление версиями для вашего проекта, вы можете создать виртуальную среду с необходимыми для проекта пакетами Django. Затем можно использовать Team Explorer, чтобы удалить папку среды из системы управления версиями.

  1. В обозревателе решений щелкните правой кнопкой мыши узел сред Python и выберите Добавить виртуальную среду:

    снимок экрана, показывающий, как использовать команду

  2. Откроется диалоговое окно Добавление виртуальной среды и отображается сообщение, мы нашли файл requirements.txt. сообщение указывает, что Visual Studio использует файл для настройки виртуальной среды:

    снимок экрана диалогового окна

  3. Выберите Создать, чтобы принять значения по умолчанию. (Если требуется, можно изменить имя виртуальной среды, что изменяет имя ее вложенной папки, но env является стандартным соглашением.)

  4. Если Visual Studio запрашивает права администратора, предоставьте свое согласие. Подождите несколько минут, пока Visual Studio загружает и устанавливает пакеты. Для Django и его зависимостей процесс может потребовать расширения до 1000 файлов в более чем 100 вложенных папок. Вы можете просмотреть прогресс в окне вывода Visual Studio .

  5. На панели элементов управления Git выберите незафиксированные изменения (которые теперь отображаются 99+), чтобы открыть страницу изменений Git в Team Explorer:

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

  6. Чтобы исключить виртуальную среду из системы управления версиями, на странице Изменения щелкните правой кнопкой мыши папку env и выберите Игнорировать эти локальные элементы:

    снимок экрана, показывающий, как игнорировать виртуальную среду в изменениях системы контроля версий в Visual Studio.

    После исключения виртуальной среды единственными оставшимися изменениями являются файл проекта (.py) и файл .gitignore, содержащий добавленную запись для папки виртуальной среды.

    Чтобы просмотреть представление различий для файла .gitignore, дважды щелкните файл.

  7. Введите сообщение фиксации, выберите Зафиксировать все, а затем отправьте фиксации в удаленный репозиторий, если вы хотите.

Общие сведения о назначении виртуальных сред

Виртуальная среда — отличный способ изолировать точные зависимости приложения. Этот метод изоляции предотвращает конфликт в глобальной среде Python и содействует как тестированию, так и сотрудничеству. Со временем при разработке приложения вы неизменно приносите множество полезных пакетов Python. Сохраняя пакеты в виртуальной среде, специфичной для проекта, можно легко обновить файл requirements.txt, описывающий эту среду, который включен в систему контроля версий. При копировании проекта на другие компьютеры, включая серверы сборки, серверы развертывания и другие компьютеры разработки, легко воссоздать среду. Вы можете повторно создать среду, используя только файл requirements.txt, поэтому среду не нужно хранить в системе управления версиями. Дополнительные сведения см. в разделе Использование виртуальных сред.

Удалить виртуальное окружение из системы управления версиями

Вы можете удалить виртуальную среду после того, как она находится под управлением версиями. Выполните следующие действия.

  1. Измените файл .gitignore, чтобы исключить папку:

    1. Откройте файл, выбрав Файл>Открыть файл>.

      Вы также можете открыть файл из Team Explorer. На странице настроек выберите настройки репозитория. Перейдите в раздел Игнорировать & файлы атрибутов и щелкните ссылку Изменить рядом с .gitignore.

    2. Найдите раздел в конце, где есть комментарий # Python Tools for Visual Studio (PTVS).

    3. После этого раздела добавьте новую строку для папки виртуальной среды, например /BasicProject/env.

  2. Откройте командное окно и перейдите в папку (например, BasicProject), которая содержит папку виртуальной среды, например env.

  3. Выполните команду git rm -r env, чтобы удалить виртуальную среду, которая на данный момент находится под системой управления версиями.

  4. Зафиксируйте изменения с помощью команды git commit -m 'Remove venv', или зафиксируйте их на странице изменений в Team Explorer.

Изучение кода шаблонов

В этом разделе вы изучите стандартный код в файле Project (.py), который Visual Studio создает на основе выбора шаблона.

Заметка

Стандартный код совпадает с тем, создаете ли проект в Visual Studio из шаблона Django или создаете проект с помощью команды CLI django-admin startproject <project_name>.

  1. Откройте обозреватель решений, чтобы просмотреть файлы решения и проекта. Исходный проект содержит только два файла, manage.py и requirements.txt:

    Файл requirements.txt указывает зависимости пакета Django. Наличие этого файла — это то, что предлагает вам создать виртуальную среду при первом создании проекта.

    Файл manage.py — это служебная программа администрирования командной строки Django, которая Visual Studio автоматически задает в качестве файла запуска проекта. Вы запускаете программу в командной строке с помощью команды python manage.py <command> [options].

    Для распространенных задач Django Visual Studio предоставляет удобные команды меню. Щелкните проект правой кнопкой мыши в обозревателе решений и выберите Python, чтобы просмотреть список команд. В этой серии учебников используется несколько этих команд.

  2. Помимо двух файлов, проект также имеет вложенную папку с тем же именем, что и проект. Эта папка содержит базовые файлы проекта Django:

    • __init__.py: пустой файл, указывающий Python, что эта папка является пакетом Python.
    • settings.py. Параметры проекта Django, которые изменяются при разработке веб-приложения.
    • urls.py: оглавление проекта Django, которое вы изменяете при разработке веб-приложения.
    • wsgi.py: точка входа для веб-серверов, совместимых с WSGI, для обслуживания проекта. Обычно вы оставляете этот файл as-is, так как он предоставляет перехватчики для производственных веб-серверов.

Создание требований после установки пакета

Visual Studio может создать файл requirements.txt из виртуальной среды после установки других пакетов.

  • В обозревателе решенийразверните узел среды Python, щелкните правой кнопкой мыши виртуальную среду и выберите Создать requirements.txt.

Рекомендуется периодически использовать эту команду при изменении среды. Зафиксируйте изменения в файле requirements.txt в системе контроля версий вместе с другими изменениями кода, которые зависят от данной среды. При настройке непрерывной интеграции на сервере сборки необходимо создать файл и зафиксировать изменения при изменении среды.

Запуск проекта

Теперь вы готовы запустить проект в Visual Studio, выполнив следующую процедуру:

  1. В Visual Studio выберите Отладка>Начать отладку (F5) или выберите Веб-сервер на главной панели инструментов (браузер может отличаться):

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

  2. Любая команда запускает сервер с помощью команды manage.py runserver <port>, которая запускает встроенный веб-сервер в Django.

    Код запускает приложение с помощью указанного порта на сервере разработки Django.

    Если Visual Studio публикует сообщение не удалось запустить отладчик и указывает, что файл запуска не найден, щелкните правой кнопкой мыши файл manage.py в обозревателе решений и выберите Задать в качестве файла запуска.

  3. При запуске сервера откроется окно консоли для отображения журнала сервера. Visual Studio автоматически открывает браузер для http://localhost:<port>. Так как проект Django не имеет приложений, Django отображает только страницу по умолчанию, чтобы убедиться, что текущий код работает должным образом.

    снимок экрана, показывающий представление проекта Django по умолчанию в окне браузера.

  4. По завершении закройте окно консоли, которое останавливает сервер разработки Django. Вы также можете выбрать Отладка>Остановить Отладку.

Использование веб-сервера И платформы Django

Django имеет встроенный веб-сервер, который можно использовать для целей разработки. При локальном запуске веб-приложения Django используется встроенный сервер веб-разработки Django. Примером этого сценария является отладка веб-приложения Django в Visual Studio.

При развертывании веб-приложения Django на веб-узле используется веб-сервер на узле, а не встроенный веб-сервер Django. Модуль wsgi.py в проекте Django заботится о подключении к рабочим серверам.

Сравнение команд отладки с командами Python проекта,

Существует разница между использованием команд меню отладки и команд сервера, перечисленных в подменю Python проекта.

Помимо команд меню Debug и кнопки на панели инструментов, вы также можете запустить сервер, используя команды Python>Запустить сервер или Python>Запустить сервер отладки в контекстном меню проекта.

снимок экрана, на котором показаны команды Python для выбранного проекта в обозревателе решений в Visual Studio 2022.

Помимо команд меню отладки и кнопок панели инструментов, вы также можете запустить сервер с помощью команд Python>Запустить сервер или Python>Запустить сервер отладки в контекстном меню проекта.

Обе команды открывают окно консоли, в котором отображается локальный URL-адрес (localhost:port) для работающего сервера. Однако необходимо вручную открыть браузер с этим URL-адресом, и работающий сервер отладки не приводит к автоматическому запуску отладчика Visual Studio. Вы можете подключить отладчик к запущенному процессу позже при желании, используя команду отладка>подключение к процессу.

Следующий шаг