Схема «работать умно, а не усердно»

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

Итак, начнем.

Что такое Джанго

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

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

Справедливо отметить, что он считается одним из самых популярных веб-фреймворков, написанных на Python, и по многим причинам я объясню некоторые из них ниже.

Что делает Джанго особенным?

- Батареи включены

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

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

- Легкий подход

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

- Адаптивный и гибкий

Поскольку Django следует шаблону проектирования MVT (модель, представление, шаблон), он хорошо справляется с разделением различных частей вашего проекта. Архитектуры внешнего интерфейса, серверной части и базы данных независимы друг от друга, что упрощает их дальнейшее улучшение и даже замену.

- Активно и стабильно обновляется

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

- Все под рукой

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

- Аутентичный интерфейс администратора

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

  1. создание пользователей и групп.
  2. управление пользователями и предоставление разрешений.

Популярность Джанго

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

Упомянем некоторые из этих компаний:

- Дискус

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

Я также должен упомянуть, что Disqus — это пока самый крупный проект, созданный на основе Django с нуля.

- НАСА

Официальный веб-сайт Национального управления по аэронавтике и исследованию космического пространства использует Django в качестве одной из своих платформ наряду с другими для навигации пользователей по всему миру для просмотра новостей, связанных с космосом. Для получения дополнительной информации о фреймворках и языках программирования, используемых НАСА, посетите CODE.NASA.GOV.

- Инстаграм

С помощью Django объединять людей и делиться драгоценными моментами жизни стало намного проще, так как эта самая известная платформа социальных сетей, которой пользуются миллионы людей каждый день; для обмена фотографиями и видео, полагается на Django для обработки всех этих взаимодействий.

- Пинтерест

Эта очень известная платформа для социальных сетей позволяет миллионам пользователей просматривать фотографии и видео, которые им интересны, в основном в поисках вдохновения или с единственной целью насладиться эстетическими визуальными эффектами. Pinterest использует Django для обработки всех различных взаимодействий пользователей.

- YouTube

Эта широко известная платформа для обмена видео раньше была построена на PHP, но команда YouTube увидела необходимость улучшить ее производительность, добавляя новые функции и обновляя уже реализованные в короткие сроки, поэтому Django считался лучший фреймворк для работы благодаря оптимальной производительности фреймворка, когда речь идет о быстром росте аудитории платформы, и безупречной работе, которую он выполняет, помогая разработчикам создавать свои проекты.

Является ли Django самоуверенным фреймворком?

Веб-фреймворки могут быть самоуверенными или беспристрастными:

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

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

Какое место в спектре занимает Джанго?

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

Способ взаимодействия Django с базой данных

Определение ОРМ

Позвольте мне начать с определения базы данных, которая представляет собой систематически организованный набор данных, обеспечивающий быстрое и безопасное хранение данных, доступ к ним и их обновление.

И как следует из названия; ORM (реляционное сопоставление объектов) сопоставляет атрибуты объекта с полями таблицы, отсюда и слово «реляционная», которое связано с реляционной базой данных: набором таблиц, имеющих несколько столбцов и строк.

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

Как видно на изображении выше, ORM позаботился о создании и сохранении атрибутов объекта в полях таблицы автоматически без необходимости писать SQL, учитывая, что базовых знаний SQL недостаточно при создании вашего приложения, просто для тот факт, что реализации SQL отличаются друг от друга в разных базах данных.

Почему мы предпочитаем ORM?

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

  1. ORM обеспечивают быструю и функциональную разработку благодаря тому, что веб-разработчикам не нужно приобретать обычные навыки и знания в SQL, поскольку это имеет решающее значение для веб-разработки, сначала создавая классы и объекты, а затем вручную преобразовывая их в схему базы данных. .
  2. ORM делают проекты более переносимыми.
  3. ORM упрощают изменение базы данных.
  4. ORM автоматически создают схему базы данных из определенных моделей.

ORM Джанго

Django ORM можно рассматривать как питоновский способ создания SQL для запроса и управления вашей базой данных и получения результатов, как если бы вы выполняли обычные запросы SQL.

И это можно сделать, обратившись к файлу models.py в вашем проекте Django и написав свои классы/модели, которые затем будут преобразованы в реляционную базу данных с минимальными хлопотами. Ниже приведен пример модели с именем Snack:

from django.db import models
from django.contrib.auth import get_user_model
class Snack(models.Model):
    name = models.CharField(max_length=64)
    purchaser = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
    description = models.TextField()
    calories = models.IntegerField()
    sodium = models.IntegerField()
    fat = models.IntegerField()
    carbs = models.IntegerField()
    protein = models.IntegerField()

    def __str__(self):
        return self.name

Модель Snack реализована как подкласс django.db.models.Model и может включать поля и методы, такие как __str__().

Поля

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

  1. имя
  2. покупатель
  3. различение
  4. калории
  5. натрий
  6. толстый
  7. углеводы
  8. белок

Типы полей

  1. CharField: используется для определения коротких и средних строк фиксированной длины, которые являются фиксированными, если вы предоставляете аргумент max_length.
  2. ForeignKey: используется для указания связи «один ко многим» с другой моделью базы данных.
  3. TextField: используется для строк большой длины.
  4. IntegerField: используется для хранения целочисленных (целых) значений.

Методы

Метод __str__() необходим при написании любого класса Python. Он используется для возврата удобочитаемой строки для каждого объекта или экземпляра модели. Предпочтительно, если он возвращает заголовок или поле имени из модели.

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

Заключение

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

Ресурсы