Написать личное письмо автору статьи
Начинаю реализацию проекта.
Начинаю реализацию проекта.

1 Создаем проект через проводник pressanybutton

Сразу же после создания проекта в корне папки создаём файл requirements.txt

В данный файл будем заносить используемые в проекте библиотеки и их версии. Это необходимо для быстрой установки используемых библиотек в других средах разработки или при запуске проекта в Docker-контейнере. Также жесткая привязка к версиям позволит избежать возможных проблем, связанных с нововведениями в той или иной библиотеке.

На самом деле не обязательно добавлять каждую установленную библиотеку в requirements.txt вручную, но я рекомендую в первое время всё делать самому. Таким образом вы познакомитесь с пакетами и их версиями.

Устанавливаем Django.

Для установки Django, открываем терминал и выполняем команду:   
pip install Django.   

Добавляем в requirements.txt.

Далее находим в конце вывода строку вида:   
Successfully installed Django-4.2.2.   
На данный момент актуальная версия Django - 4.2.2.    
Копируем название библиотеки и версию и вставляем в файл requirements.txt, заменив - на ==. Должно получиться: Django==4.2.2.    

Для создания проекта, в терминале вводим команду django-admin startproject pressanybutton. Где pressanybutton - название вашего проекта. После выполнения команды, в корне появится папка с названием проекта и основными конфигурационными файлами.

Сразу буду использовать базу на PostgreSQL. И собственно рекомендую эту базу данных. Она быстрая, современная и в Django для неё есть множество дополнительных возможностей. Базу запускаю через OpenServer.

DATABASES = {

    'default': {

        'ENGINE': 'django.contrib.gis.db.backends.postgis',

        'NAME': 'App',

        'USER': 'postgres',

        'PASSWORD': 'Jxmz$w7p',

        'HOST': 'localhost',

        'PORT': 5432,

    }

}

Установка psycopg.

Для работы Django с PostgreSQL необходимо установить библиотеку psycopg. Для этого выполняем команду в терминале pip install psycopg. Не забываем добавить название библиотеки и установленную версию в файл requirements.txt.

Применение миграции.

После настроек БД, не зависимо от того, меняли ли тип БД, необходимо применить первоначальные миграции. Это необходимо для создания таблиц используемых в дальнейшей работе.  
Для этого в терминале необходимо перейти в папку проекта cd pressanybutton и вызвать миграции python manage.py migrate. В терминале на уровне manage.pyю

Основная конфигурация.

Параметр TEMPLATES.

В данном параметре определяются настройки шаблонов и контекстные процессоры(Мы о них ещё поговорим, наберитесь терпения). В данный момент нам надо изменить подпараметр DIRS.
По умолчанию он "DIRS": [],, это означает, что он будет искать файлы шаблонов только в директориях приложений. Для того чтобы задать общую папку для шаблонов, необходимо изменить поле на "DIRS": [BASE_DIR / "templates"],, тем самым сообщая, что все шаблоны будут находиться в директории templates в корне проекта.

Параметр LANGUAGE_CODE.

Данный параметр определяет то, на каком языке используется Django. 

Многие библиотеки для Django поддерживают различные языки. Указывая в данном параметре язык "по умолчанию", мы определяем на каком языке будет работать Django и библиотеки.

По умолчанию установлено значение "en-us". Для Русского языка изменим его на "ru-ru".

Параметр TIME_ZONE.

Данный параметр необходим для того, чтобы Django верно считал время. 

По умолчанию параметр установлен на "UTC". Тут необходимо установить удобный для вас часовой пояс. 

Если ваш сайт будет ориентироваться на Московское время, то "Europe/Moscow", если ваш сайт направлен на, допустим, часовой пояс Владивостока, то стоит указать "Asia/Vladivostok".

Параметры STATIC_URL, STATIC_ROOT, MEDIA_URL, MEDIA_ROOT.

По умолчанию в конфигурации присутствует только один параметр - STATIC_URL, определяющий путь в URL-адресе до статических файлов шаблона. К статическим файлам относятся используемые в проекте CSS и JS файлы.
Давайте добавим недостающие параметры:

STATIC_URL = "static/"
STATIC_ROOT = BASE_DIR / "static/"

MEDIA_URL = "media/"
MEDIA_ROOT = BASE_DIR / "media/"

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

Также определили два дополнительных параметра: STATIC_ROOT и MEDIA_ROOT. В них мы указываем физический путь до файлов. 

Когда мы на сайте пытаемся получить фото по условному адресу "site.ru/media/photos/bestphoto.jpg", Django увидит запрос к медиа файлу в адресе и, получив полный путь из MEDIA_ROOT, передаст файл пользователю для отображения на сайте.

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

Для его создания необходимо в терминале выполнить команду python manage.py createsuperuser
Убедитесь, что в терминале вы находитесь в той же директории, что и файл manage.py. Проверить это можно командой ls, если файла manage.py в выводе нет, необходимо перейти в папку проекта командой: cd <название_проекта>.

Создание суперпользователя.

После выполнения команды запустится интерактивное создание учётной записи. В интерактивном режиме необходимо будет заполнить 4 поля:

  • Имя пользователя
  • Адрес электронной почты
  • Пароль
  • Повторение пароля

Обратите внимание, во время ввода пароля вводимые символы не отображаются. Будьте внимательны!

В результате выполнения, должно появиться сообщение: Superuser created successfully.

Первый запуск.

Настало время проверить, что у нас получилось.
 

Для запуска Django необходимо в терминале выполнить следующую команду: python manage.py runserver
 

При запуске Django проверяет, нет ли ошибок в коде, мешающих запуску. 
После проверок будет запущен веб-сервер, и в терминале отобразится служебная информация. Среди неё будет ссылка для доступа к сайту: http://127.0.0.1:8000/.

Категория: Проект / Добавил: zabariap / 19 апреля 2025 г. 15:36
/ Просмотры: 9/ Просмотры за сегодня: 4
Комментарии

Нет комментариев

Форма добавления комментария доступна только авторизованному пользователю.
Последние комментарии в разделе Проект
  • Комментариев нет.