Django → Django - Урок 023. Like Dislike система с помощью GenericForeignKey
Like, Django, GenericRelation, Dislike, GenericForeignKey
В статье по созданию системы закладок на Django был рассмотрен пример с использованием абстрактной модели для нескольких типов закладок, а именно для статей и комментариев к статьям. Также было акцентировано внимание на том, что поля моделей, который имели внешние ключи …
Django → Django - Урок 022. Добавление системы закладок (избранное) на сайте
bookmark, AJAX, favorite, Django, jQuery
На сайте добавлена возможность помечать статьи, комментарии, темы и ответы на форуме как избранное. При этом пометка в качестве избранного не предусматривает перезагрузку страницы, поскольку для этих действий используется механизм AJAX-запросов.
Для того, чтобы реализовать систему закладок, необходимо:
- Добавить таблицу, …
Django → Django - Урок 021. Наследование моделей, абстрактная модель
После проведения рефакторинга на сайте, было выделено четыре основных сущности, у которых были выделены общие свойства, а именно:
- Article - Статьи
- Comment - Комментарии
- ForumTopic - Темы форума (они же вопросы)
- ForumPost - Ответы к темам форума
Конечно, и так …
Django → Django - Урок 020. Добавление пагинации статей на сайте с помощью ListView и django-bootstrap3
Pagination, Django, django-bootstrap3, ListView
В одной из предыдущих статей был показан вариант внедрения страницы с пагинацией статей, которая может быть главной странице сайта, например. При этом применялся django-bootstrap3.
Но если страница не представляет какого-то особенного функционала, кроме отображения списка статей, например, то необходимо использовать …
Django → Django - Урок 019. Настройка HTTPS протокола на сайте от Let`s Encrypt
SSL, Django, HTTPS, letsencrypt, Nginx
Вчера получил письмо счастья от Google , поскольку пользуюсь Google Search Console для отслеживания индексации сайта в поисковике Google. Суть письма заключается в том, что Google Chrome будет сообщать о небезопасности сайта, который использует протокол http на тех страницах, где …
Django → Django - Урок 018. Блокировка злоумышленников по IP при попытках подбора пароля на Django
IP, brute force, брутфорс, Django, блокировка, подбор пароля
После того, как мы подменили страницу авторизации Django на свою собственную кастомизированную страницу авторизации , настал момент для использования данной подмены для целей улучшения безопасности сайта. Например, внедрение блокировки злоумышленника по IP при попытке подбора пароля.
Предлагаю такой вариант блокировки: …
Django → Django - Урок 017. Кастомизированная страница авторизации на Django
Для того, чтобы сделать оформление страницы авторизации в едином стиле с оформлением всего сайта, можно подготовить шаблон оформления и подменить шаблон url, чтобы отдавать требуемое нам представление страницы с требуемым шаблоном. Также это может быть полезно для внедрения функционала блокировок …
Django → Django - Урок 016. Вывод списка популярных статей на любой странице сайта
Django, templatetags, Python, список популярных статей
На сайте уже была статья о выводе списка популярных статей за последние 7 дней . Но в том варианте, который использован в данной статье, показано, как сделать вывод на странице со статьями. Но возник вопрос, как быстро внедрять список популярных …
Django → Django - Урок 015. Получение IP адреса и предыдущего URL из запроса
Получение IP адреса пользователя из запроса на Django может быть полезно для организации такого функционала сайта, как например, блокировка хостов, с которых выполняются попытки подбора пароля к сайту или необходимость запомнить пользователя по IP, чтобы обеспечивать доступ к сайту только …
Django → Django - Урок 014. Вывод списка популярных статей на Django
Django, статистика, популярные статьи
На многих блогах и новостных сайтах для удержания внимания аудитории используются такие приёмы, как рейтинг популярных за неделю статей, похожие публикации, а у некоторых крупных ресурсов ещё и рекомендации по предпочтениям пользователей.
Первое, что было решено сделать - это вывод …
- Последние комментарии
- AK1 апреля 2025 г. 11:41Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VP9 марта 2025 г. 16:14Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМ22 ноября 2024 г. 21:51Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Сейчас обсуждают на форуме
- DT14 апреля 2025 г. 15:38Всем привет! На Qt 6.8 MinGW пытаюсь сделать управление подключением WiFi из программы. Пока делаю поддержку Windows, но так же хочу в дальнейшем внедрить и поддержку Linux/MacOS. Для…
- f15 февраля 2025 г. 13:46Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…