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

Навигация по проекту
  1. Создание проекта в Django

  2. Создание моделей в Django для онлайн-магазина

  3. Административный сайт Django

  4. Создание представлений (views) в Django

 

Справочник моделей Django 
Содержание страницы:

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

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

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

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

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

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

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

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

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

my_site>python -m venv ms_env

my_site>

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

my_site>ms_env\Scripts\activate

(ms_env) my_site>

При работе в консоли появится имя активированной виртуальной среды в скобках (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<4,>=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

(ms_env) my_site>

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

 

 

 

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

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

(ms_env) my_site>django-admin startproject my_site

(ms_env) 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

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

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

 

 

 

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

(ms_env) my_site\my_site>
 

Каждое изменение в базе данных называется миграцией. В 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. Рассмотрим основные настройки, который доступны вам сразу после создания проекта:

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

LANGUAGE_CODE = 'en-us'

Исправьте 'en-us' на 'ru'

LANGUAGE_CODE = 'ru'

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

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

 

Далее: Создание моделей в Django для онлайн-магазина