Django → Django - Урок 049. Оптимизация производительности Django на примере боевого проекта
Django, django-silk, performance
В последнее время я много времени уделяю оптимизации сайта и сейчас хочу рассказать об этом.
В этой статье объясняется использование методов
select_related
и
prefetch_related
в QuerySet, а также их различия. Я также попытаюсь объяснить, почему Django считается медленным, и почему …
Django → Django - Урок 048. Как добавить статус онлайн на сайте
Я долго не добавлял такой функционал на сайт по той простой причине, что не знал, с какой стороны к этому подойти, ведь хотелось бы обрабатывать эту информацию в одном-единственном месте, а не в каждом View.
Со временем я начал модифицировать …
Django → Django - Урок 047. Как сделать select_related и prefetch_related для аутентифицированного пользователя
Представьте, что у аутентифицированного пользователя при открытии страниц постоянно выполняются какие-то запросы, например, подгружается дополнительный список уведомлений, а также его профиль. И используем эту информацию в шаблонах, например вот так.
- {% if user.is_authenticated %}
- {{ user.profile.avatar }}
- {{ user.notices.count }} …
Django → Django - Урок 046. Сброс миграций в проекте
В процессе разработки проекта на Django мы можем столкнуться с неприятной ситуацией, когда некоторые пакеты и модули были удалены и, соответственно, модели из этих пакетов больше не использовались. Но в то же время сквош миграций приложений не позволяет удалить эти …
Django → Django - Урок 045. Перемещение моделей из одного приложения в другое
Я хотел бы поделиться одним из возможных способов переноса модели данных из одного приложения в другое.
Сразу отмечу, что этот вариант переноса модели данных не на 100% рабочий и может потребоваться дополнительная ручная правка таблиц для корректной установки Content Type. …
Django → Django - Урок 044. Установка и настройка Django на Mac OS
Mac, Django, Python, MacOS, Nginx, Apple, Homebrew
Предлагаю рассмотреть процесс установки и настройки проекта Django на Mac OS X на основе существующего проекта.
Некоторые шаги будут аналогичны тем, которые уже были выполнены в [статье по установке Django для Ubuntu] (https://evileg.com/en/post/3/).
Настройка виртуальной среды
-
Установка python 3
- brew …
Django → Как использовать Coverage в Django
Когда вы разрабатываете большой проект, случайно можно забыть некоторые части кода, которые нужно протестировать. Coverage.py - это инструмент на python, который поможет вам в этом.
Установка
Используйте pip или easy_install, как вам по душе
- pip install coverage
Запуск и удаление …
Django → Использование Jinja2 с Django (начиная с 1.8)
Django, jinja, Python, template
На ресурсе Medium Corporation пользователь под ником Samu делится опытом использования Jinja2.
По его словам ранее он использовал Jinja2 в своих проектах, созданных с помощью Flask. Но затем решил использовать Jinja2 с Django для потенциального повышения производительности (в 10-20 раз …
Django → Как использовать вложенные формы в Django
Django Formsets управляет сложными повторяющимися полями форм в представлении. Используя формуляры, вы можете узнать, сколько форм было изначально, какие были изменены, а какие должны быть удалены.
Подобно формам и моделям форм, Django предлагает наборы моделей форм, которые упрощают задачу создания …
Django → Django - Урок 043. template tags для формирования breadcrumb с поддержкой shema.org
Делюсь своей реализацией встроенных тегов для формирования breadcrumb с поддержкой разметки schema.org, а также поддержкой bootstrap css.
Написал эти теги, чтобы ускорить скорость разработки сайта. Теперь работа продвигается намного быстрее, потому что код стал более компактным, а исправлять ошибки в …
- Последние комментарии
- AK1 апреля 2025 г. 11:41Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VP9 марта 2025 г. 16:14Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМ22 ноября 2024 г. 21:51Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Сейчас обсуждают на форуме
- f15 февраля 2025 г. 13:46Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
- Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.