Python django запуск сервера

Создание проекта в Django

1. Создание и активация виртуальной среды ( virtualenv )

Для разработки на Python рекомендуется сначала создать виртуальную среду для разработки ( virtualenv ). Виртуальная среда — это подраздел системы, в которой устанавливаются пакеты, не зависимо от других пакетов Python. Одним из достоинств виртуальной среды является то, что для установки различных Python пакетов пользователь не обязан иметь права администратора.

Создайте каталог с любым именем для вашего проекта. Перейдите в этот каталог в терминальном режиме. Для удобства я назвал свой проект my_site . Следующей командой создайте виртуальную среду:

my_site> python -m venv ms_env

С помощью команды python -m venv создается виртуальная среда с именем ms_env . После создания её необходимо активировать. Для активации виртуальной среды в системе Windows необходима следующая команда:

my_site> ms_env\Scripts\activate

При работе в консоли появится имя активированной виртуальной среды в скобках (ms_env) . В будущем при активации виртуальной среды любая библиотека Python будет сохранятся в папке ms_env вашего проекта.

Для деактивации виртуальной среды используете команду deactivate:

(ms_env) my_site> deactivate
my_site>

В случае закрытия терминального окна виртуальная среда становится не активной.

2. Установка Django

После создания и активации виртуальной среды установите Django. Установить Django проще всего с помощью менеджера пакетов pip. Pip уже установлен в Python 3.6 и выше.

(ms_env) my_site> pip install django
Collecting django
Downloading Django-3.2.9-py3-none-any.whl (7.9 MB)
|████████████████████████████████| 7.9 MB 656 kB/s
Collecting sqlparse>=0.2.2
Downloading sqlparse-0.4.2-py3-none-any.whl (42 kB)
|████████████████████████████████| 42 kB 203 kB/s
Collecting pytz
Downloading pytz-2021.3-py2.py3-none-any.whl (503 kB)
|████████████████████████████████| 503 kB 3.3 MB/s
Collecting asgiref=3.3.2
Downloading asgiref-3.4.1-py3-none-any.whl (25 kB)
Installing collected packages: sqlparse, pytz, asgiref, django
Successfully installed asgiref-3.4.1 django-3.2.9 pytz-2021.3 sqlparse-0.4.2

Так как вы работаете в виртуальной среде, команда pip install django работает одинаково во всех операционных системах.

Читайте также:  Simple image gallery php

3. Создание проекта Django

Для создания проекта Django предоставляет команду, которая создает базовую структуру файлов и каталогов:

(ms_env) my_site> django-admin startproject my_site

С помощью команды django-admin startproject my_site мы создали Django-проект с названием my_site .

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

Давайте посмотрим на структуру сгенерированного проекта:

my_site/
manage.py
my_site/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py

Каждый из файлов имеет свое значение:

  • manage.py — утилита командной строки, используемая для управления проектом
  • my_site/ — это внутренняя папка нашего проекта, которая совпадает с названием проекта и содержит файлы:
    • __init__.py — пустой файл, который сообщает Python о том, что my_site является Python-пакетом
    • settings.py — содержит конфигурацию нашего проекта и в нем уже заданы базовые настройки
    • urls.py — здесь будут хранится шаблоны адресов, какие страницы строить на запросы браузера
    • asgi.py — точка входа для ASGI-совместимых веб-серверов для обслуживания вашего проекта
    • wsgi.py — конфигурация для запуска проекта как WSGI — приложения

    Не удаляйте и не изменяйте названия этих файлов в вашем проекте.

    4. Создание базы данных

    Django хранит информацию в базе данных, относящейся к вашему проекту. Для работы с ней её необходимо создать. По умолчанию Django использует СУБД SQLite. Введите команду python manage.py migrate находясь в виртуальной среде для создания базы данных. У меня файл manage.py находится внутри папки my_site , поэтому в начале мне нужно перейти в эту папку командой cd ( cd my_site ).

    (ms_env) my_site> cd my_site

    (ms_env) my_site\my_site> python manage.py migrate
    Operations to perform:
    Apply all migrations: admin, auth, contenttypes, sessions
    Running migrations:
    Applying contenttypes.0001_initial. OK
    Applying auth.0001_initial. OK
    Applying admin.0001_initial. OK
    Applying admin.0002_logentry_remove_auto_add. OK
    Applying admin.0003_logentry_add_action_flag_choices. OK
    .
    Applying auth.0011_update_proxy_permissions. OK
    Applying auth.0012_alter_user_first_name_max_length. OK
    Applying sessions.0001_initial. OK

    Каждое изменение в базе данных называется миграцией. В Django встроена подсистема миграции, которая отслеживает изменения моделей. При первом выполнение команды migrate Django создает новую базу данных за вас и в вашем проекте появится файл db.sqlite3.

    5. Запуск сервера для разработки

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

    (ms_env) my_site\my_site> python manage.py runserver
    Watching for file changes with StatReloader
    Performing system checks.

    System check identified no issues (0 silenced).
    November 26, 2021 — 10:09:56
    Django version 3.2.9, using settings ‘my_site.settings’
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CTRL-BREAK.

    Теперь откройте браузер и введите http://127.0.0.1:8000/ . Вы должны увидеть информацию что ваш проект успешно запущен и работает как на рисунке ниже:

    Для завершения работы сервера нажмите Ctrl+C в терминале или просто закройте его.

    6. Настройки проекта Django

    Основные настройки находятся в файле settings.py . Рассмотрим основные настройки, который доступны вам сразу после создания проекта:

    • DEBUG = True — Булевое значение, которое включает и отключает режим отладки проекта. При создание проекта DEBUG = True, значит сайт находится в отладочном режиме и Django будет отображать подробные страницы с вашими ошибками. Когда вы будете устанавливать приложение в «боевом» режиме, нужно установить значение на False. Никогда не публикуйте проект с включенным режимом отладки ( DEBUG = True ), так как пользователям будут доступны секретные данные конфигурации приложения.
    • ALLOWED_HOSTS = [ ] — не используется при включенной отладке и запуске тестов. Но когда вы развернете приложение и установите флаг DEBUG = False, необходимо будет добавить домен сайта в эту настройку.
    • INSTALLED_APPS — список зарегистрированных приложений. Все приложения, которые вы будете писать в будущем, будут добавляться в этот список. По умолчанию Django сразу подключает такие приложения:
      • ‘django.contrib.admin’ — административный веб-сайт Django.
      • ‘django.contrib.auth’ — встроенная подсистема аутентификации.
      • ‘django.contrib.contenttypes’ — подсистема для работы с типами объектов системы. Хранит список всех моделей, объявленных во всех приложения проекта.
      • ‘django.contrib.sessions’ — подсистема сессий.
      • ‘django.contrib.messages’ — подсистема сообщений, выводит всплывающие сообщения.
      • ‘django.contrib.staticfiles’ — подсистема обрабатывает статистические файлы.

      Для удобства разработки изменим код языка для вывода системных сообщений и страниц административного сайта на ‘ru’. Перейдите в файл settings.py и найдите строку:

      Перезапустив сервер, вы увидите сообщение на русском языке:

      В процессе разработки все основные настройки будут рассмотрены.

      Источник

      Блог на Django #3: Запуск сервера

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

      Запустить сервер можно с помощью следующей команды в корневом каталоге:

      python manage.py runserver 

      Появятся приблизительно такие строки:

      Performing system checks. System check identified no issues (0 silenced). November 16, 2019 - 15:20:27 Django version 2.0.5, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. 

      Теперь нужно открыть https://127.0.0.1:8000/ в браузере. Страница сообщит, что проект работает. Как на следующем скриншоте:

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

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

      [16/Nov/2019 15:22:45] "GET / HTTP/1.1" 200 16348 

      Каждый HTTP-запрос регистрируется отдельно. В командной строке будут отображаться все ошибки, которые появятся в процессе работы.

      Можно запустить сервер на другом порте или использовать другой файл настроек с помощью таких команд:

      python manage.py runserver 127.0.0.1:8001 --settings=mysite.settings 

      Работая с разными средами, требующими разных настроек, можно создать несколько файлов для каждой из них.

      Этот сервер стоит использовать только для разработки, но не для полноценного использования. Чтобы развернуть Django в производственной среде (production) его нужно запустить в качестве WSGI-приложения с помощью реального инструмента: Apache, Gunicorn или uWSGI.

      Источник

Оцените статью