Подготовка Django приложения для локальной разработки и деплоя
Поговорим про настройку приложения для двух сред «разработки» local и условного прода. Локально приложение будет запускаться с установкой всего необходимого на компьютер, то, что дальше я буду именовать продом будет представлять из себя запуск через docker-compose.
Что это за приложение по сути значения не имеет, из особенностей — там будет celery поверх redis и Postgres, как персистентное хранилище. Код приложения можно посмотреть здесь.
Настроим переменные окружения для двух разных сред и подготовим код под это.
Настроим логирование через Loki и Grafan-у. Настроим мониторинг через Prometheus в ту же Grafan-у.
Поехали
Читать: https://habr.com/ru/articles/844280/
#ru
@django_prog | Другие наши каналы
Поговорим про настройку приложения для двух сред «разработки» local и условного прода. Локально приложение будет запускаться с установкой всего необходимого на компьютер, то, что дальше я буду именовать продом будет представлять из себя запуск через docker-compose.
Что это за приложение по сути значения не имеет, из особенностей — там будет celery поверх redis и Postgres, как персистентное хранилище. Код приложения можно посмотреть здесь.
Настроим переменные окружения для двух разных сред и подготовим код под это.
Настроим логирование через Loki и Grafan-у. Настроим мониторинг через Prometheus в ту же Grafan-у.
Поехали
Читать: https://habr.com/ru/articles/844280/
#ru
@django_prog | Другие наши каналы
Последний шанс купить билеты на DjangoCon US 2024!
Конференция DjangoCon US начинается 22 сентября в Дурхаме, Северная Каролина. Не упустите возможность послушать выдающихся спикеров! Если не можете приехать лично, доступны онлайн билеты. Узнать больше и приобрести билеты можно по ссылке: https://ti.to/defna/djangocon-us-2024
Подробности: https://www.djangoproject.com/weblog/2024/sep/18/last-call-for-djangocon-us-2024-tickets/
#en
@django_prog | Другие наши каналы
Конференция DjangoCon US начинается 22 сентября в Дурхаме, Северная Каролина. Не упустите возможность послушать выдающихся спикеров! Если не можете приехать лично, доступны онлайн билеты. Узнать больше и приобрести билеты можно по ссылке: https://ti.to/defna/djangocon-us-2024
Подробности: https://www.djangoproject.com/weblog/2024/sep/18/last-call-for-djangocon-us-2024-tickets/
#en
@django_prog | Другие наши каналы
Django приложение в докере. Логирование и мониторинг(тоже в докере)
Обещанная вторая часть.
Первая часть здесь https://habr.com/ru/articles/844280/
Основной идеей было настроить все с минимальным количеством ручных действий для работы легирования и мониторинга.
Одно ручное действие все же потребуется — указать хост(или ip), по которому Prometheus будет собирать метрики. В остальном все заработает просто по docker-compose up.
Читать: https://habr.com/ru/articles/844706/
#ru
@django_prog | Другие наши каналы
Обещанная вторая часть.
Первая часть здесь https://habr.com/ru/articles/844280/
Основной идеей было настроить все с минимальным количеством ручных действий для работы легирования и мониторинга.
Одно ручное действие все же потребуется — указать хост(или ip), по которому Prometheus будет собирать метрики. В остальном все заработает просто по docker-compose up.
Читать: https://habr.com/ru/articles/844706/
#ru
@django_prog | Другие наши каналы
✍2
Инструмент django-command
Django-command - инструмент командной строки, который позволяет выполнять часто используемые команды при разработке проектов на фреймворке Django. Данный инструмент помогает повысить эффективность разработки и упростить рабочие процессы, связанные с веб-приложениями на Django.
Читать: https://habr.com/ru/articles/844938/
#ru
@django_prog | Другие наши каналы
Django-command - инструмент командной строки, который позволяет выполнять часто используемые команды при разработке проектов на фреймворке Django. Данный инструмент помогает повысить эффективность разработки и упростить рабочие процессы, связанные с веб-приложениями на Django.
Читать: https://habr.com/ru/articles/844938/
#ru
@django_prog | Другие наши каналы
Создаём новый Django проект: установочные шаги и лучшие практики
Начало создания Django проекта требует правильной настройки среды разработки. В статье описаны шаги по установке Python, настройке виртуальных окружений, решениям проблем с разрешениями и выбору утилит для форматирования и линтинга кода. Узнайте больше о VS Code расширениях и Git интеграции.
Подробности: https://simplykeep.in/day-1-prerequisites-and-best-practices
#en
@django_prog | Другие наши каналы
Начало создания Django проекта требует правильной настройки среды разработки. В статье описаны шаги по установке Python, настройке виртуальных окружений, решениям проблем с разрешениями и выбору утилит для форматирования и линтинга кода. Узнайте больше о VS Code расширениях и Git интеграции.
Подробности: https://simplykeep.in/day-1-prerequisites-and-best-practices
#en
@django_prog | Другие наши каналы
👍1
Знакомство с Django: Основные особенности
Django — это мощный и удобный веб-фреймворк на Python, поддерживающий быстрое создание безопасных и масштабируемых веб-приложений. Он предоставляет множество встроенных инструментов, таких как ORM, система аутентификации и админ-интерфейс. Узнайте больше о преимуществах Django и его применении!
Подробности: https://simplykeep.in/day-2-introduction-to-django
#en
@django_prog | Другие наши каналы
Django — это мощный и удобный веб-фреймворк на Python, поддерживающий быстрое создание безопасных и масштабируемых веб-приложений. Он предоставляет множество встроенных инструментов, таких как ORM, система аутентификации и админ-интерфейс. Узнайте больше о преимуществах Django и его применении!
Подробности: https://simplykeep.in/day-2-introduction-to-django
#en
@django_prog | Другие наши каналы
🛡️ Защита Django-приложения: основные практики
В современном цифровом мире безопасность веб-приложений крайне важна. Django предлагает встроенные функции для защиты приложений. В статье рассказывается о таких мерах, как CSRF, SQL-инъекции, clickjacking, настройка безопасного ввода паролей, использование HTTPS и двухфакторная аутентификация.
Подробности: https://blog.codewithtemi.site/securing-your-django-application-essential-practices-for-protection
#en
@django_prog | Другие наши каналы
В современном цифровом мире безопасность веб-приложений крайне важна. Django предлагает встроенные функции для защиты приложений. В статье рассказывается о таких мерах, как CSRF, SQL-инъекции, clickjacking, настройка безопасного ввода паролей, использование HTTPS и двухфакторная аутентификация.
Подробности: https://blog.codewithtemi.site/securing-your-django-application-essential-practices-for-protection
#en
@django_prog | Другие наши каналы
👍2
Создаём Markdown парсер на Django
Статья рассказывает, как на основе фреймворка Django разработать простой парсер Markdown. Пошаговая инструкция охватывает ключевые аспекты, от настройки окружения до конечной реализации проекта. Подойдёт для разработчиков, желающих углубить свои навыки в Python и Django. Читайте подробнее по ссылке.
Подробности: https://temunel.hashnode.dev/build-a-simple-markdown-parser-using-django
#en
@django_prog | Другие наши каналы
Статья рассказывает, как на основе фреймворка Django разработать простой парсер Markdown. Пошаговая инструкция охватывает ключевые аспекты, от настройки окружения до конечной реализации проекта. Подойдёт для разработчиков, желающих углубить свои навыки в Python и Django. Читайте подробнее по ссылке.
Подробности: https://temunel.hashnode.dev/build-a-simple-markdown-parser-using-django
#en
@django_prog | Другие наши каналы
Создаем приложение на Django для приветствий по времени суток
Хотите создать приложение на Django, которое приветствует пользователей в зависимости от времени суток? Эта статья объясняет, как настроить проект и написать код для генерации приветствий, таких как "Доброе утро" или "Добрый вечер" в зависимости от текущего времени.
Подробности: https://vidyesh.hashnode.dev/create-a-time-based-application-to-wish-the-end-user-using-django
#en
@django_prog | Другие наши каналы
Хотите создать приложение на Django, которое приветствует пользователей в зависимости от времени суток? Эта статья объясняет, как настроить проект и написать код для генерации приветствий, таких как "Доброе утро" или "Добрый вечер" в зависимости от текущего времени.
Подробности: https://vidyesh.hashnode.dev/create-a-time-based-application-to-wish-the-end-user-using-django
#en
@django_prog | Другие наши каналы
Основы работы с базами данных
Как данные организованы в системах и какие виды баз данных существуют? Статья "Introduction to Databases for Back-End Development" расскажет о типах данных и СУБД, SQL и реляционных таблицах, а также о Big Data и NoSQL. Узнайте больше здесь!
Подробности: https://mojtabamaleki.hashnode.dev/introduction-to-databases-for-back-end-development
#en
@django_prog | Другие наши каналы
Как данные организованы в системах и какие виды баз данных существуют? Статья "Introduction to Databases for Back-End Development" расскажет о типах данных и СУБД, SQL и реляционных таблицах, а также о Big Data и NoSQL. Узнайте больше здесь!
Подробности: https://mojtabamaleki.hashnode.dev/introduction-to-databases-for-back-end-development
#en
@django_prog | Другие наши каналы
Как при помощи CBV создать приложение в декларативном стиле и сократить время на разработку?
Узнайте 25.09 в 20:00 мск на бесплатном вебинаре онлайн-курса «Python Developer. Professional» — «Django Class Based Views»: регистрация
На занятии посмотрим на использование CBV для создания веб-приложений. CBV позволяют создать представления, не написав ни строчки бизнес-логики, так как всё генерируются автоматически!
Вебинар будет полезен для тех, кто уже знаком с Python, либо уже пробовал другие фреймворки: Flask, FastAPI.
После прохождения вебинара вы сможете легко и быстро создавать свои представления на основе классов в Django за несколько строчек кода.
Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
Реклама
Узнайте 25.09 в 20:00 мск на бесплатном вебинаре онлайн-курса «Python Developer. Professional» — «Django Class Based Views»: регистрация
На занятии посмотрим на использование CBV для создания веб-приложений. CBV позволяют создать представления, не написав ни строчки бизнес-логики, так как всё генерируются автоматически!
Вебинар будет полезен для тех, кто уже знаком с Python, либо уже пробовал другие фреймворки: Flask, FastAPI.
После прохождения вебинара вы сможете легко и быстро создавать свои представления на основе классов в Django за несколько строчек кода.
Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
Реклама
👍1👎1
Скидка на PyCharm и поддержка Django!
До 6 октября можно получить годовую лицензию на PyCharm со скидкой 30%, а все средства пойдут на поддержку Django Software Foundation. Это отличная возможность улучшить свои навыки разработки и помочь сообществу Django. Поддержите любимый фреймворк и получите мощный инструмент!
Подробности: https://www.djangoproject.com/weblog/2024/sep/23/pycharm-django-campaign-2024-encore/
#en
@django_prog | Другие наши каналы
До 6 октября можно получить годовую лицензию на PyCharm со скидкой 30%, а все средства пойдут на поддержку Django Software Foundation. Это отличная возможность улучшить свои навыки разработки и помочь сообществу Django. Поддержите любимый фреймворк и получите мощный инструмент!
Подробности: https://www.djangoproject.com/weblog/2024/sep/23/pycharm-django-campaign-2024-encore/
#en
@django_prog | Другие наши каналы
Нотификации в telegram о падении приложения, через графану
Это не анонсированная третья часть. Первые две здесь:
1. Подготовка Django приложения для локальной разработки и деплоя
2. Django приложение в докере. Логирование и мониторинг(тоже в докере)
Не анонсированная, потому что этот способ подходит для любого приложения с метриками через Prometheus, но как настраивать их для конкретного Django приложения можно посмотреть в предыдущих частях.
Для начала нужно создать telegram-бота, находим бота BotFather и создаем нового бота в нем с помощью команды /newbot, получаем токен вашего бота.
Теперь нужно получить ChatId. Для этого, напишите вашему новому боту сообщение, а затем откройте в браузере(желательно инкогнито, а еще лучше curl-ом) следующий адрес
https://api.telegram.org/bot<your_bot_token/getUpdates
Заменив <your_bot_tokenна токен вашего бота. В ответе вы получите json с информацией о последних сообщениях, отправленных вашему боту. В этом JSON найдите поле chat, которое будет содержать ваш id.
Значение поля id внутри объекта chat — это и есть ваш Chat ID.
Ну, основное позади.
Далее переходим в графану Home -> Alerting -> Contact points
Там у вас, если еще не было Contact points редактируем единственный существующий.
Вводим любое название и в поле Integration выбираем Telegram.
Там указываем BOT API Token и Chat ID полученные ранее, сохраняем.
Переходим в Alert rules в том же Alerting и создаем новое правило — New alert rule.
Тут мы подразумеваем, что у вас уже есть настроенный на приложение Prometheus, хотя бы из предыдущих шагов.
Итак, в первом поле вводим любое название правила. Ниже в А выбираем Prometheus, в Metric вводим up и в лэйблах выбираем приложение. Далее в B выбираем input A, Function — Min, Mode — Strict. В С(Threshold) выбираем Input — B, ниже IS BELOW — 1.
Читать: https://habr.com/ru/articles/845462/
#ru
@django_prog | Другие наши каналы
Это не анонсированная третья часть. Первые две здесь:
1. Подготовка Django приложения для локальной разработки и деплоя
2. Django приложение в докере. Логирование и мониторинг(тоже в докере)
Не анонсированная, потому что этот способ подходит для любого приложения с метриками через Prometheus, но как настраивать их для конкретного Django приложения можно посмотреть в предыдущих частях.
Для начала нужно создать telegram-бота, находим бота BotFather и создаем нового бота в нем с помощью команды /newbot, получаем токен вашего бота.
Теперь нужно получить ChatId. Для этого, напишите вашему новому боту сообщение, а затем откройте в браузере(желательно инкогнито, а еще лучше curl-ом) следующий адрес
https://api.telegram.org/bot<your_bot_token/getUpdates
Заменив <your_bot_tokenна токен вашего бота. В ответе вы получите json с информацией о последних сообщениях, отправленных вашему боту. В этом JSON найдите поле chat, которое будет содержать ваш id.
Значение поля id внутри объекта chat — это и есть ваш Chat ID.
Ну, основное позади.
Далее переходим в графану Home -> Alerting -> Contact points
Там у вас, если еще не было Contact points редактируем единственный существующий.
Вводим любое название и в поле Integration выбираем Telegram.
Там указываем BOT API Token и Chat ID полученные ранее, сохраняем.
Переходим в Alert rules в том же Alerting и создаем новое правило — New alert rule.
Тут мы подразумеваем, что у вас уже есть настроенный на приложение Prometheus, хотя бы из предыдущих шагов.
Итак, в первом поле вводим любое название правила. Ниже в А выбираем Prometheus, в Metric вводим up и в лэйблах выбираем приложение. Далее в B выбираем input A, Function — Min, Mode — Strict. В С(Threshold) выбираем Input — B, ниже IS BELOW — 1.
Читать: https://habr.com/ru/articles/845462/
#ru
@django_prog | Другие наши каналы
🚀 Преимущества Django в 2024 году
Django продолжает оставаться фаворитом среди веб-разработчиков благодаря своей полной функциональности, масштабируемости и безопасности. В 2024 году этот "все-в-одном" фреймворк активно обновляется, поддерживает современные инструменты и обладает мощным сообществом.
Подробности: https://codymohit.com/how-to-set-up-a-django-project-like-a-pro-in-2024
#en
@django_prog | Другие наши каналы
Django продолжает оставаться фаворитом среди веб-разработчиков благодаря своей полной функциональности, масштабируемости и безопасности. В 2024 году этот "все-в-одном" фреймворк активно обновляется, поддерживает современные инструменты и обладает мощным сообществом.
Подробности: https://codymohit.com/how-to-set-up-a-django-project-like-a-pro-in-2024
#en
@django_prog | Другие наши каналы
🔧 Улучшение Django логирования: кастомные фильтры 👨💻
Чувствуете, что стандартное логирование в Django вам не хватает? С помощью кастомных фильтров вы можете добавить в логи подробную информацию, такую как IP-адреса, браузеры и данные пользователей. Улучшите процесс отладки и станьте мастером логирования! Подробнее в статье.
Подробности: https://selftaughtdev.hashnode.dev/supercharge-your-django-logging-custom-filters-for-the-win
#en
@django_prog | Другие наши каналы
Чувствуете, что стандартное логирование в Django вам не хватает? С помощью кастомных фильтров вы можете добавить в логи подробную информацию, такую как IP-адреса, браузеры и данные пользователей. Улучшите процесс отладки и станьте мастером логирования! Подробнее в статье.
Подробности: https://selftaughtdev.hashnode.dev/supercharge-your-django-logging-custom-filters-for-the-win
#en
@django_prog | Другие наши каналы
Настройка Jenkins CI/CD для Django через GitHub
Подробное руководство описывает процесс создания CI/CD пайплайна с использованием Jenkins, GitHub и Docker для развёртывания Django приложения. Интеграция позволяет автоматически обновлять приложение при изменении кода в репозитории. Все шаги детально рассмотрены для безошибочного выполнения.
Подробности: https://amitabhdevops.hashnode.dev/jenkins-cicd-declarative-pipeline
#en
@django_prog | Другие наши каналы
Подробное руководство описывает процесс создания CI/CD пайплайна с использованием Jenkins, GitHub и Docker для развёртывания Django приложения. Интеграция позволяет автоматически обновлять приложение при изменении кода в репозитории. Все шаги детально рассмотрены для безошибочного выполнения.
Подробности: https://amitabhdevops.hashnode.dev/jenkins-cicd-declarative-pipeline
#en
@django_prog | Другие наши каналы