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

Введение в архитектуру Django и настройки Django

Введение Django – это веб-каркас на основе Python, которая позволяет быстро создавать веб … Помечено с Джанго, WebDev, Python.

Вступление

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

Архитектура Django

Django основан на шаблоне модели View-Template (MVT). MVT состоит из 3 компонентов.

Модель : Модель отвечает за поддержание структуры данных проекта, посредством баз данных (PostgreSQL, MySQL и т. Д.).

Вид : Views Выполните операции и вернуть ответ на пользователя. Этот ответ может представлять собой HTML содержимое веб-страницы или перенаправить или ошибку 404.

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

Немногие функции безопасности Django

Защита от атаки XSS.

XSS ( Cross Site Scripting ) Атаки позволяют пользователю вводить сценарии на стороне клиента в браузеры других пользователей.

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

CSRF защита

CSRF ( Запрос на поперечный сайт подсказка ) Атаки позволяют вредоносным пользователю выполнять действия с использованием учетных данных другого пользователя без знания или согласия этого пользователя.

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

Защита от инъекций SQL

Инъекция SQL – это тип атаки, в котором злонамеренный пользователь может выполнить произвольный код SQL в базе данных. Это может привести к удалению записей или утечку данных.

Напроцезии Django защищены от инъекции SQL, поскольку их запросы построены с использованием параметризации запроса.

Настройки Django Файл

Отказ от ответственности: версия Django, которую я использовал для генерации проекта, составляет 2.2. Эти настройки могут существовать или не существовать в будущих/предыдущих версиях Джанго.

Когда мы создаем новый проект в Django, новую папку с нашей Название проекта создано. 3 файлы, которые находятся в папке, являются settings.py , URLS.PY и wsgi.py Отказ

URLS.PY Настраивает наши URL-адреса проекта и wsgi.py Настраивает первичную платформу развертывания Django, WSGI , который используется для развертывания нашего проекта в прямом эфире.

Самый важный файл среди этих трех – settings.py Файл, который используется для настройки всех настроек нашего проекта. Вот подробное объяснение того, что каждая строка в настройки.py делает для нашего проекта.

settings.py подробное объяснение

Base_dir : Это относится к абсолютному пути, в котором Manage.py Файл существует. Manage.py является интегралом в создании новых приложений, запущенного сервера, выполняя оболочку Django и т. Д.

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

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

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

ALLED_HOSTS : Список строк, представляющих имена хоста/домена, которые могут служить этот сайт Django.

Stall_apps : Список строк, обозначающих все приложения, которые включены в проекте Django. После создания новых приложений мы должны вручную добавлять приложение к приложениям Django. Более того, другие внешние приложения должны быть добавлены в список, так что он работает с нашим проектом (например, Creuspy_forms).

Промежуточное программное обеспечение : Промежуточное программное обеспечение – это каркас крючков в обработке запроса/ответа Django. Это система света, низкоуровневого «плагина» для глобально изменяющегося ввода или вывода Django. Например, промежуточное программное обеспечение используется для поддержания безопасности приложения.

Root_urlconf : Это строка, представляющая относительный путь к urls.py Анкет

Шаблоны : Настройки языка шаблона Django, используемые для нашего проекта.

Wsgi_application. : Путь к файлу wsgi.py.

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

Auth_password_validators : Список валидаторов, которые используются для проверки силы паролей пользователя. По умолчанию валидация не выполняется, и все пароли принимаются.

Язык_Code : Представляет имя языка. Например 'en-us " Отказ

Time_zone : Представляет часовой пояс. Например 'UTC' Отказ

Use_i18n : Логин, который указывает, следует ли включить систему перевода Django. Это обеспечивает способ выключить его для производительности. Если это установлено на Ложь , Джанго сделает некоторые оптимизации, чтобы не загружать механизм перевода.

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

Use_tz : Логическое значение, которое указывает, будут ли Dateimes, по умолчанию узнают по часовой поясе или нет. Если это установлено на Истинный Django будет использовать временные временные данных DateTimes.

Static_root : Абсолютный путь к каталогу, где ./Manage.py Collectsatic будет собирать статические файлы для развертывания. Поэтому мы должны служить только этой папке во время развертывания.

Static_url. : URL из которых статические файлы в Static_root. каталог обслуживается.

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

Django Javatpoint.

Официальная документация Django

Django Project

Оригинал: “https://dev.to/fahidlatheef/introduction-to-django-architecture-and-django-settings-36e6”