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

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

Что вы узнаете сегодня:

  • Создавайте виртуальную среду Python и работайте с ней.
  • Установить зависимости проекта
  • Настройка проекта и базы данных Django
  • Настройте пользователя и панель администратора

Установка зависимостей

Откройте свой любимый терминал, создайте папку проекта, и мы начнем установку наших зависимостей с помощью Python pip. Мы будем использовать виртуальную среду, чтобы изолировать зависимости нашей среды разработки от нашей системы. Итак, сначала давайте установим пакет virtualenv, создадим виртуальную среду разработки и активируем ее.

$ pip install virtualenv
$ virtualenv venv
$ source venv/bin/activate

После активации (пользователи Windows могут просто запустить venv/bin/activate) в командной строке терминала должно отображаться (venv) где-то внутри. Помните, что вы можете деактивировать виртуальную среду разработки в любое время с помощью команды deactivate. Следующим шагом будет установка пакета Django:

(venv)$ python -m pip install Django

Если все прошло успешно, у нас должна быть последняя версия Django (3.1.2 на момент написания этой статьи), установленная в вашей виртуальной среде. Для установки для конкретной платформы следуйте этому руководству. Если вы запустите pip freeze, вы должны увидеть несколько разных пакетов, установленных как зависимости от основного пакета Django.

Настройте проект и приложение Django

Теперь нам нужно настроить основную структуру проекта Django и базовую конфигурацию. Мы запускаем модуль Django Management, чтобы сделать это с mysite в качестве имени проекта:

(venv)$ django-admin startproject mysite

Django создаст папку с именем проекта, а внутри будет другая папка с именем проекта в качестве основного приложения, текущая папка проекта должна выглядеть так:

|- /venv              <-- (your virtual environment folder)
|- /mysite            <-- (the django project folder)
       |- /mysite     <-- (the main app folder)
       |- manage.py   <-- (local management command)

Внутри папки проекта Django у нас также есть исполняемый файл Python с именем manage.py, это тот же исполняемый файл из команды управления django-admin, но для вашего конкретного локального проекта, а не для всей среды. С этого момента мы будем использовать эту команду вместо общесистемной команды.

Чтобы упростить структуру папок, мы переместим все, что находится внутри первой /mysite папки, в основную папку проекта. Итак, ваша структура папок теперь будет выглядеть так:

|- /venv              <-- (your virtual environment folder)
|- /mysite            <-- (the main app folder)
|- manage.py          <-- (local management command)

Где /mysite - это основная папка приложения, а не папка проекта Django. Затем мы выполним миграции по умолчанию и запустим базу данных приложения. Миграции - это в основном определение модели вашей базы данных для каждого приложения, которое вы настраиваете внутри проекта. Эти определения модели могут измениться со временем по мере продолжения разработки проекта. Django использует эти изменения модели для синхронизации таблиц базы данных, строк, ограничений и отношений объектов без потери данных предыдущей версии базы данных. Примените миграции Django по умолчанию для заполнения исходной базы данных:

(venv)$ python manage.py migrate

Поскольку у нас нет определенной базы данных, при первом переносе будет создана файловая база данных SQLite по умолчанию, чтобы вы могли начать настройку разработки. На данный момент все данные вашего проекта будут содержаться в единой файловой базе данных с именем db.sqlite3 внутри папки вашего проекта. Поскольку эта настройка SQLite представляет собой базу данных на основе файлов, основным ограничением является то, что вы не можете иметь несколько клиентов, читающих и записывающих одновременно. Позже мы сможем перенести нашу базу данных проекта в настоящую многопользовательскую базу данных, такую ​​как PostgreSQL или MySQL, но для локальной разработки и тестирования SQLite более чем достаточно.

Далее мы проверим нашу базовую установку с интегрированным веб-сервером Django:

(venv)$ python manage.py runserver

Если все пойдет правильно и мы откроем http://127.0.0.1:8000/ в нашем браузере, мы увидим, что наша установка Django работает и готова к запуску!

Панель администратора Django

Django включает панель администратора для выполнения самых основных операций управления всеми объектами базы данных в вашем проекте. Панель администратора по умолчанию будет расположена по пути /admin/, например http: // localhost: 8000 / admin /, однако у нас еще нет пользователя с правами администратора. может войти в систему. Давайте создадим одного администратора:

(venv)$ python manage.py createsuperuser

Интерактивная подсказка попросит вас ввести имя пользователя, адрес электронной почты (не обязательно) и пароль. Так как это локальная изолированная среда разработки, я бы порекомендовал вам действовать просто и использовать admin в качестве имени пользователя и 1234 в качестве пароля, чтобы вы никогда не забыли и избежали утечки любой конфиденциальной информации, если вы поделитесь своей средой разработки. Если снова перейти на http: // localhost: 8000 / admin / и войти в систему с учетными данными администратора, появится панель администратора по умолчанию с надписью Пользователи. и Группы в качестве административных объектов по умолчанию :

Поздравляю! У вас есть рабочий проект Django с администратором по умолчанию!

Что дальше?

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