Evgenii Legotckoi
22 октября 2019 г. 11:39

DjangoDjango - Урок 049. Оптимизация производительности Django на примере боевого проекта

Django, django-silk, performance

В последнее время я много времени уделяю оптимизации сайта и сейчас хочу рассказать об этом.
В этой статье объясняется использование методов select_related и prefetch_related в QuerySet, а также их различия. Я также попытаюсь объяснить, почему Django считается медленным, и почему …

Читать
Evgenii Legotckoi
2 сентября 2019 г. 17:31

DjangoDjango - Урок 048. Как добавить статус онлайн на сайте

Backend, Auth, Python, Django

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

Со временем я начал модифицировать …

Читать
Evgenii Legotckoi
26 августа 2019 г. 13:51

DjangoDjango - Урок 047. Как сделать select_related и prefetch_related для аутентифицированного пользователя

Backend, Model, Django, user

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

  1. {% if user.is_authenticated %}
  2. {{ user.profile.avatar }}
  3. {{ user.notices.count }} …
Читать
Evgenii Legotckoi
28 апреля 2019 г. 19:36

DjangoDjango - Урок 046. Сброс миграций в проекте

Model, Reset, Django

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

Читать
Evgenii Legotckoi
24 апреля 2019 г. 13:42

DjangoDjango - Урок 045. Перемещение моделей из одного приложения в другое

Application, Model, Django

Я хотел бы поделиться одним из возможных способов переноса модели данных из одного приложения в другое.

Сразу отмечу, что этот вариант переноса модели данных не на 100% рабочий и может потребоваться дополнительная ручная правка таблиц для корректной установки Content Type. …

Читать
Evgenii Legotckoi
23 апреля 2019 г. 14:10

DjangoDjango - Урок 044. Установка и настройка Django на Mac OS

Mac, Django, Python, MacOS, Nginx, Apple, Homebrew

Предлагаю рассмотреть процесс установки и настройки проекта Django на Mac OS X на основе существующего проекта.

Некоторые шаги будут аналогичны тем, которые уже были выполнены в [статье по установке Django для Ubuntu] (https://evileg.com/en/post/3/).


Настройка виртуальной среды

  1. Установка python 3
    1. brew
Читать
Lila25mila
29 января 2019 г. 13:53

DjangoКак использовать Coverage в Django

Django, Python

Когда вы разрабатываете большой проект, случайно можно забыть некоторые части кода, которые нужно протестировать. Coverage.py - это инструмент на python, который поможет вам в этом.


Установка

Используйте pip или easy_install, как вам по душе

  1. pip install coverage
Запуск и удаление …
Читать
Lila25mila
28 января 2019 г. 12:19

DjangoИспользование Jinja2 с Django (начиная с 1.8)

Django, jinja, Python, template

На ресурсе Medium Corporation пользователь под ником Samu делится опытом использования Jinja2.
По его словам ранее он использовал Jinja2 в своих проектах, созданных с помощью Flask. Но затем решил использовать Jinja2 с Django для потенциального повышения производительности (в 10-20 раз …

Читать
Lila25mila
25 января 2019 г. 14:28

DjangoКак использовать вложенные формы в Django

Django, python, formsets

Django Formsets управляет сложными повторяющимися полями форм в представлении. Используя формуляры, вы можете узнать, сколько форм было изначально, какие были изменены, а какие должны быть удалены.
Подобно формам и моделям форм, Django предлагает наборы моделей форм, которые упрощают задачу создания …

Читать
Evgenii Legotckoi
6 января 2019 г. 18:48

DjangoDjango - Урок 043. template tags для формирования breadcrumb с поддержкой shema.org

templatetags, Django, python

Делюсь своей реализацией встроенных тегов для формирования breadcrumb с поддержкой разметки schema.org, а также поддержкой bootstrap css.

Написал эти теги, чтобы ускорить скорость разработки сайта. Теперь работа продвигается намного быстрее, потому что код стал более компактным, а исправлять ошибки в …

Читать