Рубрики
Без рубрики

Топ-9 Концепций Django – Часть 2 : 5 Минут

2-я часть серии из 3 частей о 9 концепциях Django, чтобы помочь любому начинающему разработчику Django ускорить свое обучение

Автор оригинала: Max Ong Zong Bao.

undraw ideas s70l

Добро пожаловать в часть 2 из серии из 3 частей для Топ-9 концепций Django .

Я буду освещать 3 концепции Django, для тех, кто пропустил первую часть серии из 3 частей, вы можете перейти к Топ – 9 концепций Django-Часть 1

Первая концепция-это команды essential Django, которые вы будете использовать при разработке в Django.

Во-вторых, концепция использования либо front-end , как Vue, React или Angular web framework, либо использование существующей системы шаблонов Django для создания пользовательского интерфейса.

Наконец, он будет использовать либо Представления на основе классов vs Представления на основе функций .

Основные команды Django

отслеживание хода выполнения undraw 7hvk

Итак, вот некоторые из основных команд, которые вы будете использовать при разработке в Django.

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

размотайте все данные h4ki

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

django-admin startproject project-name

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

Папка с тем же именем, что и проект, содержит параметры конфигурации, маршрутизацию URL-адресов и конфигурацию обслуживания.

Для дальнейшего объяснения структуры проекта по умолчанию проекта шаблона.

Пожалуйста, перейдите к Создать новый проект в документации Django.

Запуск веб-сервера Django

undraw начало построения qhd

По умолчанию все проекты Django поставляются с веб-сервером разработки.

Это используется для тестирования вашего веб-сайта перед его развертыванием в рабочей среде с использованием веб-сервера производственного уровня, такого как Gunicorn или uWISGI или Mod WISGI .

Чтобы запустить сервер веб-разработки Django, необходимо ввести следующую команду:

python manage.py runserver

По умолчанию Django работает на IP – адресе 127.0.0.1 и номер порта 8000 .

Вы можете изменить IP-адрес и номер порта, чтобы обслуживать его по другому IP-адресу или номеру порта, введя следующую команду:

python manage.py runserver ip_address:port

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

Сервер разработки имеет встроенную функцию перезагрузки сервера при каждом добавлении нового кода.

Создание приложения Django

undraw полный дизайн продолжается

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

Теперь вы создаете новое приложение, введя следующую команду:

python manage.py startapp appname

Эта команда создает новое приложение Django с различными файлами и папками для выполнения приложения.

Всегда рекомендуется разделить несколько функций на более мелкие приложения .

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

Создание и обновление таблиц Базы Данных

раскрытие персональных данных 29co

В Django таблицы базы данных представлены в виде модели .

Который может быть основан в каждом приложении Django models.py файл.

Подробную информацию о том, как создать модель, можно найти в Создание моделей в документации Django.

После создания модели в models.py .

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

Первая команда называется make migration , которая подготавливает изменения, которые будут внесены в базу данных как migration aka version :

python manage.py makemigrations

Вторая команда называется migrate .

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

Для получения более подробной информации о команде migrate или makemigrations вы можете перейти к Создание моделей , которая основана в документации Django

Доступ к оболочке Django

undraw hacker mind 6y85

Введя следующую команду, он откроет интерактивную оболочку python со всеми загруженными модулями Django.

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

Подробные сведения о том, как выполнять различные ORM-запросы, можно найти в Django ORM Query sets By Django Girls .

Использование Front-end фреймворка против шаблона Django?

undraw design sprint x3eb

Из-за взрывной популярности веб-фреймворков Javascript, которые используются для разработки интерфейсов.

Вы можете столкнуться с этой дилеммой при работе с клиентами или в своей работе.

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

  • Каковы требования к проекту?
  • Кто участвует в проекте? Это вы сами или команда разработчиков, которая включает в себя фронтального разработчика?
  • Каков ваш опыт работы с Vue, React или Angular?

Если проект не требует от вас работы с интерфейсными веб-фреймворками, такими как Vue, React или Angular.

Я предлагаю вам придерживаться системы шаблонов Django по умолчанию и интегрировать ее с предварительно созданными темами bootstrap или примерами bootstrap , чтобы ускорить процесс разработки.

Если ваша работа требует, чтобы Django был серверной системой .

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

Представление на основе классов и представление на основе функций

undraw поделиться мнением jpw0

Существует Дискуссия между использованием Представлений на основе классов (CBV) или Представлений на основе функций (FBV) .

По той причине, что у обоих есть свои плюсы и минусы.

Я бы посоветовал вам использовать Представления на основе классов только тогда, когда вы поймете это и найдете вариант использования для его использования в вашем проекте.

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

Если вы новичок в Django из-за его простоты и простого способа представления логики в вашем коде.

Вывод

разверните обзор fkgn

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

Эти концепции являются решениями в области проектирования или разработки.

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

Рекомендации

Страница 2

undraw полный дизайн продолжается

Когда я впервые нырнул в Django после того, как решил специализироваться в качестве разработчика Django.

Количество концепций, необходимых любому, чтобы научиться понимать Django, может быть ошеломляющим.

Поскольку подход к разработке Django заставляет вас развиваться в едином и мнениях способе веб-разработки с обширной экосистемой пакетов для поддержки ваших потребностей.

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

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

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

Шаблон представления модели (MVT)

MVT-диаграмма Django по Tutorialspoint

Для понимания первой концепции может потребоваться некоторое время. Пока вы просматриваете учебники, такие как DjangoGirls или Mozilla Developer Network на Django .

Django следует аналогичным концепциям, таким как Model View Controller (MVC) или Трехуровневая архитектура .

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

Имея несколько отдельных сменных частей для формирования всей программной системы.

Модель

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

Он распознается Django всякий раз, когда вы создаете новое приложение Django.

Модель называется models.py , он находится в каталоге приложений.

В этом файле также содержатся запросы к базе данных, в которых вы находите ответы из ваших записей в базе данных.

Затем вы передаете результаты запроса в свой вид и шаблон , чтобы отобразить его в виде веб-страницы.

Просмотры

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

Перед отправкой в файл шаблона, который будет сгенерирован в виде веб-страницы.

Он включает в себя логику, такую как ответы на ошибки HTTP (код состояния 404 или 200), основанные на ответе, основанном базой данных.

Это также может быть передача данных о взаимодействии с пользователем для дальнейшей обработки models.py .

Обратите внимание, что вы должны никогда включать код, который выполняет тяжелую обработку данных в views.py .

Как это резко замедляет скорость отображения веб-страницы.

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

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

Шаблон

Как следует из названия, это шаблон, который используется для создания HTML-файла веб-страницы для веб-сайта.

Вы можете думать о нем как о подобном markdown language .

Который используется для создания статических сайтов или вики-сайтов вашего проекта в GitHub или GitLab.

Чтобы научиться вставлять синтаксис языка |/Django для отображения данных для вашего шаблона.

Отображение объектных отношений (ORM)

разверните ментальную карту cwng

ORM для Django позволяет сосредоточиться на работе с различными типами баз данных.

Без каких-либо знаний, связанных с этой конкретной базой данных, для выполнения CRUD (Создание, чтение, обновление, удаление ) операций для вашей базы данных.

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

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

Обратите внимание, что рекомендуется использовать Postgres поверх MongoDB для среды производственного уровня.

Причина может быть обоснована в этой статье под названием Когда использовать MongoDB с Django by PyDanny автор для 2 совков Django .

Панель администрирования

расстегните шелковый пух сервера

Это, безусловно, лучшая особенность Django.

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

Панель позволяет вам управлять своими записями для каждой таблицы в базе данных из вашего models.py .

Это может быть дополнительно настроено в соответствии с вашими потребностями в панели администрирования Django.

Импортируя такие коды под именем admin.py файл в вашем приложении Django.

from django.contrib import admin
from catalog.models import Author, Genre, Book, BookInstance admin.site.register(Book)
admin.site.register(Author)
admin.site.register(Genre)
admin.site.register(BookInstance)

Для получения дополнительной информации о том, как настроить панель администрирования Django.

Он может быть основан в проектной документации Django , учебнике по Django от Mozilla или отличном видеоуроке от Dumbfounds

Вывод

развернись в ночь вумии

Я надеюсь, что эти 3 концепции будут полезны для вас, чтобы помочь вам ускорить ваше обучение на Django.

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

Хотя у меня есть приблизительное представление о том, что будет рассмотрено в этой серии из 3 частей.

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

Рекомендации