Django → Django — Защищенный медиаконтент
На одном из ресурсов, разработкой которых я занимаюсь, возникла необходимость добавления защищённого доступа к медиа контенту, с проверкой права пользователя на доступ к этому медиа контенту. Проще говоря, может ли пользователь посмотреть фотографию, которую отдаёт nginx в качестве статического контента. …
Django → Django - Урок 064. Как написать расширение для Python Markdown
Python, markdown, MarkdownField, Django
Я активно использую на этом сайте и паре других проектов markdown разметку для написания текста, а потом генерирую из него html код. И в итоге я написал пару расширений, которые выполняют кое-какой специфичный функционал, который несколько облегчает поддержку генерирования html …
Django → Django - Урок 063. Полнотекстовый поиск на сайте для нескольких моделей с поддержкой мультиязычности
Django, python, Django 3, modeltranslation, full-text search, Django 4
Наконец-то мне удалось сделать достаточно быстрый полнотекстовый поиск по нескольким моделям с учётом оптимизации запросов на сайте, который бы меня устраивал и отвечал моим требованиям к качеству проекта.
Если вы сейчас воспользуетесь поиском по сайту, то обнаружите, что поиск сработает …
Django → Django - Урок 062. Как написать блочный шаблонный тег tabbar наподобие тега blocktranslate
tag, templatetags, Django, Django 3, Django 4, template
В этой статье расскажу о том, как именно можно написать простой блочный шаблонный тег, наподобие тега blocktranslate в Django .
Такие блочные шаблонные теги имеют открывающий тег и закрывающий тег, и наиболее часто встречающимся я бы назвал тег blocktranslate , …
Django → Django - Урок 061. Добавление счётчика уникальных просмотров
Django, Counter, Django 3, python, Django 4
В самом начале создания статей и вопросов на форуме я добавил простейший счётчик просмотров на этого контента.
Данный счётчик был обычным полем целочисленного типа и каждый раз при запросе страницы инкрементировался на единицу.
Но не так давно я заменил данный …
Django → Django - Урок 060. Ускорение сайта с помощью кэширования шаблонов и их частей
Django 3, model_cached_property, cache, Django 4, invalidate, Django
Одним из способов значительно ускорить скорость работы сайта на Django - это кэширование как отдельных частей шаблонов сайта, так и кэширование шаблонов после их компилирования сайтом. Поэтому изучим оба этих способа улучшения скорости работы сайта, помимо уже известного нам способа …
Django → django_model_cached_property - Кэширование property для отдельных объектов моделей в Django
cache, model_cached_property, invalidate, redis, Python 3, Django
Представляю релиз стабильной батарейки django_model_cached_property для кэширования property для отдельных объектов моделей в Django.
Я уже рассказывал, что evileg_core содержит подобный функционал, но вот решил вывести это кэширование в отдельный пакет. Это связано с тем, что я не успеваю поддерживать …
Django → Анализ ошибок при разработке и продвижении сайта на Django - Кастомный тег <cut>
А теперь немного размышлений на тему кастомных тегов, и стоит ли их вообще вводить.
Короткий ответ - НЕТ.
А теперь поразмышляем на эту тему - "Почему?" . Есть такой известный русскоязычный ресурc Хабр, кто помнит, он изначально ещё назывался Хабрахабр. …
Django → Анализ ошибок при разработке и продвижении сайта на Django - Мультиязычные формы
forms, Мультиязычноть, Django, Translations
Этой публикацией я хотел бы начать делиться своими наблюдениями после почти семилетней поддержки проекта EVILEG. Чтобы каждый новичок мог бы примерно понять и представлять, а стоит ли делать подобный или иной функционал или нет.
Ну подумайте сами, есть вещи, на …
Django → Django - Урок 058. Разрастание базы данных из-за таблицы django_session
Django, Postgres, garbage collection, Python, PostgreSQL
Последнее время я заметил, что близится тот роковой момент, когда ккатастрофически перестанет хватать дискового пространства для сайта на хостинге. А дамп базы данных становится невероятно огромным, хотя очевидных предпосылок для этого никаких нет. Размер контента на сайте не растёт так …
- Последние комментарии
- AK1 апреля 2025 г. 11:41Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VP9 марта 2025 г. 16:14Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМ22 ноября 2024 г. 21:51Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Сейчас обсуждают на форуме
- МА1 апреля 2025 г. 16:210ff763fe-4e50-455d-a3a6-5699c243b1a5_17_44_22_1.xml
- f15 февраля 2025 г. 13:46Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…