Улучшения, показаны 50 из 148.
URL схема сайта иногда всё-таки меняется. Если сейчас по коду раскиданы фрагменты адресов `'/post/'` и …
Пропала текстовка, что располагась между первой картинкой и галереей снизу. ![Скриншот](https://i.imgur.com/eGvUkms.png) Проблема в конфликте между …
Пропала текстовка, что располагась между первой картинкой и галереей снизу. ![Скриншот](https://i.imgur.com/eGvUkms.png) Проблема в конфликте между …
Импорт настроек проекта напрямую из файла `settings.py` ломает механизм конфигурации Django. Проблем здесь сразу несколько. …
Вообще, в питоне не принято сильно заботиться о памяти. Но это до тех пор, пока …
Запросы к базе данных — одна из самых медленных операций в работе сайта. Если откинуть …
К списку полей каждой модели данных Django автоматически добавляет поле `id`. Оно есть у всех …
Пока мы занимаемся отладкой django берёт на себя функции веб-сервера и веб-приложения. Обычно эти роли …
В моделях данных Django есть стандартная последовательность записи: сначала поля, потом менеджер объектов, `class Meta` …
В миграциях Django ни в коем случае нельзя использовать код из models.py и прочих файлов …
В Django количество записей внутри `QuerySet` можно посчитать с помощью самой обычной функции `len(…)`. Выглядит …
Обычно Django кладёт `None` во все незаполненные поля модели данных. Пустой `IntegerField` — это `None`, …
Для поиска записей в БД сейчас вы используете не `id`, а своё собственное поле-ключ, и …
Импорт настроек проекта напрямую из файла `settings.py` ломает механизм конфигурации Django. Проблем здесь сразу несколько. …
**Что сделано, то сделано.** Но больше так не делайте, пожалуйста. Django работает с миграциями примерно …
Писать запросы к БД будет проще, если обратные связи сразу получат говорящие названия — `related_name`. …
В Django ORM есть много полезных методов. Один из них — это `first`. Он позволяет …
Номер телефона — это самый простой способ найти клиента на сайте. Но если номер телефона …
Вообще, в питоне не принято сильно заботиться о памяти. Но это до тех пор, пока …
В Django ORM есть отдельное поле для картинок, отдельное для файлов, для чисел всех мастей... …
В Django принято заканчивать адреса страниц слэшом `/`: `/some/page/`. Это правило позволяет избежать путаницы в …
Реверс-прокси -- это посредник, задача которого "передать" запрос от внешнего клиента ко внутреннему веб-сервису. При …
Дефолтные значения должны быть безопасными. В этом их смысл: иногда настройки с дефолтными значениями будут …
Django не зря предлагает использовать в запросах `related_name`, с ними код получается куда проще и …
В базе данных `CharField` и `TextField` представлены по-разному. `CharField` — это поле фиксированного размера, в …
При вызове метода `QuerySet.get(…)` может так случиться, что искомой записи в базе не будет, и …
В шаблонах не зря используют наследование. С его помощью общую логику, что повторяется на всех …
Все картинки на сайте делятся на две группы: статику и медиа. Первые намертво пришиты к …
Если бы автоинспеция искала машины по ФИО водителя, штрафы бы постоянно приходили не тем людям. …
Функция `format_html` в Django похожа по своим возможностям на обычное форматирование строк. Она тоже подставляет …
Для полей `ForeignKey` Django в админке использует виджет ``. Он предлагает пользователю выбрать из одну …
Вместо нескольких строчек с загрузкой шаблона и его обработкой: ```python def show_phones(request): template = loader.get_template('product_page.html') …
Вы используете `{% verbatim %}`, но он захватывает какую-то рандомную область в шаблоне. Получается, что …
Оба метода и `get_or_create`, и `update_or_create` ищут записи в БД с точным совпадением по всем …
В документации Django и других статьях авторы часто советуют поместить код прямо внутрь метода `save` …
С параметром `next` есть известная уязвимость: если не проверять куда вы делаете редирект, то ваш …
`annotate` и `aggregate` выполняют схожие задачи: снижают количество запросов к БД. Но в то время …
Когда другой программист захочет развернуть проект, то первым делом он пойдёт искать переменные окружения в …
Django создаёт исключения `DoesNotExist` и `MultipleObjectsReturned` как атрибуты каждой модели, чтобы можно было обработать ошибку …
После `BASE_DIR` папка верхнего уровня у всех путей одна
Запросы в Django ORM бывают большими и сложными. Даже десять строк кода на один запрос …
В Django код запросов к БД имеет свойство распухать до неприличных размеров. И чем длиннее …
Настройка `SECRET_KEY` очень важна для django-проекта. По сути, это так называемая соль (salt), отвечающая за …
В Django код запросов к БД имеет свойство распухать до неприличных размеров. И чем длиннее …
Почему это поле -- уникально? Разве в БД не может быть несколько записей с одинаковым …
У каждой записи в этом поле обязательно должны быть разные значения. Одинаковых быть не может, …