Собрали в одном месте самые важные ссылки
консультируем про IT, Python
В этой статье поговорим о том, что такое кэширование и о его преимуществах, как настроить кэширование в Django, какие бэкенд-системы поддерживают Django, а также о лучших практиках кэширования. Материал будет полезен в первую очередь начинающим веб-разработчикам.
Приложение для поддержки тегов в Django. Приложение будет крайне полезно на сайте с новостями, которые необходимо помечать тегами, так же можно легко реализовать сортировку по тегам.. Скачать можно по ссылке: https://pypi.python.org/pypi/django-taggit/
Python применяется для совсем разных задач, от ML до бэкенда. О каких темах тогда говорить на конференции по Python? Обо всех главных сразу. На приближающемся PiterPy 2023 среди докладов будут и «В Python есть готовый фронтенд для вашего компилятора», и «Django + Keycloak: доверьте аутентификацию профессионалам», и «Мастер-класс по взлому».
В тусовке есть мнение, что аутсорсеры всегда пишут очень плохой код. На докладе расскажу, как мы в своём аутсорсе системно это опровергаем, сдавая в срок много качественного кода. Слайды: https://speakerdeck.com/moscowdjango/moscow-python-meetup-84-fiodor-borshchiov-piton-v-autsorsie-kak-pisat-khoroshii-kod
5 лет назад я написал backend-модуль для авторизации через Telegram в популярном пакете python-social-auth. С тех пор я сам регулярно использую эту фичу на своих собственных сайтах, очень удобно и быстро. Но с выходом Django 4.0 модуль авторизации через Telegram перестал работать. Почему
У ребят из Basecamp (ex-37signals) есть неплохой WYSIWYG редактор Trix Editor. Я начал использовать его в своих проектах в качестве основного текстового редактора, мне очень нравится. Ранее я везде использовал Redactor.js. Так как я практически всегда использую веб-фреймворк Django, то я решил сделать reusable django app для интеграции этого редактора.
Хотелось бы немного поговорить об оптимизации наших с вам любимых WEB приложений, написанных на нашем горячо любимом и всеми уважаемом фреймворке Django. В частности речь в этой статье пойдёт об оптимизации изображений.
Еесть одна вещь, которая меня очень раздражает при использовании Django: наложение слоя структуры проекта.
Однажды в поисках примера на React/Django я нашел на Хабре одну интересную статью. Она показалась мне полезной, и я решил дополнить пример из статьи новыми возможностями. В этом сиквеле мы добавим в веб-проект со списком студентов поддержку авторизации и real-time уведомлений на сокетах, улучшим систему Docker-сборки, оптимизируем модель очередей на RabbitMQ и немного пригладим косметику. В результате получим удобный базовый шаблон, с которого вы сможете начинать свои проекты.
Статья описывает способ доступа к внутренним директориям в nginx на сайте на django. Создайте каталог protected, загрузите изображение, и получите к нему доступ на сайте с предварительной проверкой прав доступа к этому изображению.
(см комментарии к статье)
На эту тему создания ботов полноценных гайдов и материала не так много. Причина в том, что для опытного разработчика создание бота это нечто простое и само собой разумеющееся. А зря, ведь для начинающих любой пример может оказаться полезным потому что при создании первых проектов обычно в голове нет каких-либо четких инструкции и точных файловых структур.
Мир покера – увлекательный и непредсказуемый. Волнение перед каждой раздачей, стратегические решения, анализ оппонентов – все это создавало уникальную атмосферу напряжения и интриги. Однажды я получил предложение поучаствовать в проекте связанным с покерной тематикой.
Часто определение разницы между select_related и prefetch_related звучит как “первый для ForeignKey полей, второй для ManyToMany”, однако это описание не раскрывает суть работы этих методов.
Я часто в своих проектах использую связку Django + RQ вместо Celery. RQ удобный и максимально простой инструмент среди популярных Task Queue решений в экосистеме Python.
Так как материалы на сайт добавляются довольно часто, а также регистрируются новые пользователи, конечно же возникла идея, как бы правильно организовать бэкап базы данных и загруженных медиафайлов - чтобы я мог легко синхронизировать данные на сервере с данными, лежащими в базе на рабочем компьютере.
Развёртывание ПО, или деплой (deploy) — этап в разработке, в Devops в целом, это действия, которые делают ПО готовым к использованию. Если вы умеете в грамотный деплой, масштабирование и управление конвейерами (CI/CD), то ваш софт будет конкурентоспособным.
В предыдущей части мы частично разобрали шаблон для нашего блога, выбрали виртуальную машину и запустили на ней нативный веб-сервер Django. Однако он предназначен только для тестирования и запуска приложений во время разработки. Для обработки запросов в продакшене нужно настроить Nginx и WSGI Gunicorn. В этой статье показываем, как это сделать.
Самый действенный способ изучить фреймворк — написать пет-проект. Например, свою социальную платформу на Django. Во время реализации можно попрактиковаться в работе с формами, представлениями, сигналами и SMTP. В Proglib собрали небольшой шаблон, на базе которого можно создать свой блог на Django, а после — задеплоить на виртуальный сервер. Материал будет полезен новичкам, которые знакомы с базовыми концепциями фреймворка и хотят закрепить знания.