7 ошибок, которых следует избегать при создании приложения Django

7 ошибок, которых следует избегать при создании приложения Django Изучение

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

Многие общие функции Django, такие как встроенная панель администратора, ORM (инструмент объектно-реляционного сопоставления), маршрутизация, шаблоны, упростили задачу для разработчиков. Им не нужно тратить так много времени на реализацию этих вещей с нуля.

Одна из самых потрясающих функций Django — это встроенная панель администратора. С помощью этой функции вы можете настроить множество вещей, таких как список управления доступом, разрешения на уровне строк и действия, фильтры, заказы, виджеты, формы, дополнительные помощники URL-адресов и т. Д.

Django ORM «из коробки» работает со всеми основными базами данных. Он поддерживает все основные SQL-запросы, которые вы можете использовать в своем приложении. Движок шаблонов Django также очень, очень гибкий и в то же время мощный. Даже в Django доступно множество функций, разработчики по-прежнему делают много ошибок при создании приложения. В этом блоге мы обсудим некоторые типичные ошибки, которых следует избегать при создании приложения Django.

1. Использование глобальной среды Python для зависимостей проекта

Использование глобальной среды для зависимостей проекта может вызвать конфликты зависимостей. В Python нельзя одновременно использовать несколько версий пакета. Это создаст проблему, если для разных проектов требуются разные несовместимые версии одного и того же пакета. Есть много вариантов изолировать вашу среду. Ниже приведены наиболее распространенные способы…

  • virtualenv
  • virtualenvwrapper
  • Виртуальные машины
  • Контейнеры

2. Избегайте закрепления зависимостей проекта в файле » requirements.txt»

Когда вы начинаете с проекта Python, начните с изолированной среды с файлом «require.txt». Когда вы устанавливаете пакеты через pip / easy_install, не забудьте добавить их в свой файл «requirements.txt». Позже, когда вам нужно будет развернуть свой проект на сервере, вам будет проще.

Читайте также:  Наука о данных за 5 минут: что такое очистка данных?

Различные версии пакетов предоставляют разные модули, функции или параметры. Если в вашей зависимости произойдут незначительные изменения, это может привести к поломке вашего пакета. Поэтому важно закрепить конкретную версию ваших зависимостей в файле «require.txt». Есть очень хороший инструмент пип-инструменты, доступные в Python. С помощью доступных в нем инструментов командной строки вы можете легко управлять своими зависимостями.

Этот инструмент автоматически генерирует файл Requirment.txt, который закрепляет все ваши зависимости и все ваше дерево зависимостей. Кроме того, сохраните резервную копию файла зависимостей. Сохраните копию в своей файловой системе, в управляемой папке Git, папке S3, FTP и SFTP.

3. Использование функций Python в старом стиле вместо представлений на основе классов

В Python разработчики в большинстве случаев избегают использования представлений на основе классов из-за их сложности. В течение некоторого времени может быть хорошей идеей использование функции Python в файле views.py приложения (например, для тестов или служебных представлений).

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

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

4. Написание логики приложения в представлениях вместо модели

Написание логики в представлениях делает представление вашего приложения «толстым», а модель — «тонким». Избегайте этой ошибки и всегда пишите логику в своих моделях вместо представлений. Вы можете разбить логику на небольшие методы и записать их в модели. Вы можете использовать его несколько раз из разных источников всего в нескольких строках кода.

5. Грязный и неуправляемый файл настроек

Часто бывает, что во время работы над реальным проектом ваш файл настроек вырастает до более чем 600-700 строк кода. Этот огромный и беспорядочный файл становится трудным в обслуживании, особенно когда ваша среда разработки, производства и подготовки требует специальной настройки. Вы можете разделить файл конфигурации вручную и создать собственные загрузчики.

Читайте также:  Какие типы данных поддерживает SASS?

6. Плохая структура приложения и неправильное размещение ресурсов

Всякий раз, когда вы создаете приложение с помощью Django, оно содержит несколько приложений. Эти приложения отвечают за выполнение определенной задачи. По сути, эти приложения представляют собой пакеты Python, содержащие как минимум файлы __init__.py и models.py. В последней версии Django вам больше не требуется версия Django. В вашем приложении достаточно __init__.py.

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

Всегда давайте папке проекта конкретное имя и помещайте свое приложение в project / apps /. После этого вы можете поместить зависимости вашего приложения в их собственные подпапки.

7. Путаница между STATICFILES_DIRS и STATIC_ROOT в Django

В Django статические файлы в основном содержат JavaScript, CSS, изображения, шрифты и т. Д. Они собираются в общедоступный каталог в процессе развертывания. python manage.py runserver ищет статические файлы, используя параметр STATICFILES_FINDERS. Если происходит сбой, Django пытается найти файл с помощью django.contrib.staticfiles.finders.AppDirectoriesFinder. Это заглянет в статическую папку каждого установленного приложения в проекте. Вы можете писать многоразовые приложения с собственными статическими файлами.

В Django, используя команду статического управления python manage.py collectstatic, вы можете пройти через STATICFILES_FINDERS и скопировать файлы из статических папок, а также из STATICFILES_DIRS в каталог, указанный в параметре STATIC_ROOT.

Вывод

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

Оцените статью
bestprogrammer.ru
Добавить комментарий