Evgenii Legotckoi
12 сентября 2023 г. 2:47

DjangoDjango — Защищенный медиаконтент

nginx, protected, Django

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

Читать
Evgenii Legotckoi
17 мая 2023 г. 1:52

DjangoDjango - Урок 064. Как написать расширение для Python Markdown

Python, markdown, MarkdownField, Django

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

Читать
Evgenii Legotckoi
31 марта 2023 г. 16:32

DjangoDjango - Урок 063. Полнотекстовый поиск на сайте для нескольких моделей с поддержкой мультиязычности

Django, python, Django 3, modeltranslation, full-text search, Django 4

Наконец-то мне удалось сделать достаточно быстрый полнотекстовый поиск по нескольким моделям с учётом оптимизации запросов на сайте, который бы меня устраивал и отвечал моим требованиям к качеству проекта.

Если вы сейчас воспользуетесь поиском по сайту, то обнаружите, что поиск сработает …

Читать
Evgenii Legotckoi
21 марта 2023 г. 4:17

DjangoDjango - Урок 062. Как написать блочный шаблонный тег tabbar наподобие тега blocktranslate

tag, templatetags, Django, Django 3, Django 4, template

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

Такие блочные шаблонные теги имеют открывающий тег и закрывающий тег, и наиболее часто встречающимся я бы назвал тег blocktranslate , …

Читать
Evgenii Legotckoi
19 марта 2023 г. 20:56

DjangoDjango - Урок 061. Добавление счётчика уникальных просмотров

Django, Counter, Django 3, python, Django 4

В самом начале создания статей и вопросов на форуме я добавил простейший счётчик просмотров на этого контента.
Данный счётчик был обычным полем целочисленного типа и каждый раз при запросе страницы инкрементировался на единицу.
Но не так давно я заменил данный …

Читать
Evgenii Legotckoi
19 марта 2023 г. 2:09

DjangoDjango - Урок 060. Ускорение сайта с помощью кэширования шаблонов и их частей

Django 3, model_cached_property, cache, Django 4, invalidate, Django

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

Читать
Evgenii Legotckoi
17 октября 2022 г. 1:58

Djangodjango_model_cached_property - Кэширование property для отдельных объектов моделей в Django

cache, model_cached_property, invalidate, redis, Python 3, Django

Представляю релиз стабильной батарейки django_model_cached_property для кэширования property для отдельных объектов моделей в Django.

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

Читать
Evgenii Legotckoi
5 сентября 2022 г. 13:45

DjangoАнализ ошибок при разработке и продвижении сайта на Django - Кастомный тег <cut>

development, Django, Custom

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

Короткий ответ - НЕТ.

А теперь поразмышляем на эту тему - "Почему?" . Есть такой известный русскоязычный ресурc Хабр, кто помнит, он изначально ещё назывался Хабрахабр. …

Читать
Evgenii Legotckoi
2 сентября 2022 г. 16:06

DjangoАнализ ошибок при разработке и продвижении сайта на Django - Мультиязычные формы

forms, Мультиязычноть, Django, Translations

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

Ну подумайте сами, есть вещи, на …

Читать
Evgenii Legotckoi
19 апреля 2022 г. 3:39

DjangoDjango - Урок 058. Разрастание базы данных из-за таблицы django_session

Django, Postgres, garbage collection, Python, PostgreSQL

Последнее время я заметил, что близится тот роковой момент, когда ккатастрофически перестанет хватать дискового пространства для сайта на хостинге. А дамп базы данных становится невероятно огромным, хотя очевидных предпосылок для этого никаких нет. Размер контента на сайте не растёт так …

Читать