Улучшения, показаны 50 из 540.
Если имя пользователя не влезет в вашу БД — ему будет неприятно. Если адрес не …
Названия переменных важны. Хорошее название подсказывает программисту, что лежит в переменной и какие методы можно …
Почему это поле -- уникально? Разве в БД не может быть несколько записей с одинаковым …
У каждой записи в этом поле обязательно должны быть разные значения. Одинаковых быть не может, …
Используйте стандартный `response = requests.get(...)`! Да, функция прячет в себя 2 строчки кода, теперь вместо …
Адрес и путь похожи, но это не синонимы. **Путь** -- это локально, в файловой системе. …
Этот блок не несёт никакого смысла и в нём написана неправда, книги обновлены не 3 …
Цикл `while` опаснее, чем `for`. Он может запросто застрять в бесконечном цикле, если допустить малейшую …
[`url_has_allowed_host_and_scheme`](https://docs.djangoproject.com/en/3.0/_modules/django/utils/http/) -- современный аналог `is_safe_url`. Это есть в коде самой функции, прочитайте внимательно: ``` def …
В Python не принято сравнивать с пустым списком/словарём. В языке достаточно инструментов, чтобы записать ту …
Как только данные файла вам не нужны, сразу выходите из контекста `with`. Так файл закроется, …
Раньше в C++ итерация по коллекции проходила так: ``` for(int i = 0; i < …
Функция `startswith` умеет работать сразу с кортежем (`tuple`) из строк. Поэтому такой код можно сильно …
Ссылки можно оформлять множеством разных способов. Но когда вы встраиваете ссылки в текст, важно оформлять …
`%s` -- это старый способ форматирования строк, наследованный ещё из второго питона. Он остаётся для …
Вместо нескольких строчек с методом get и его обработкой: ```py def show_posts(request, user_id): try: user …
Такая подпись книгам не нужна. Это часть шаблона, которую вы скопипастили, но на самом деле …
Вы замечали, что у вкладок браузера есть свои названия? Эти надписи подсказывают на каком сайте …
Аргументы -- это настройки для функций. Но от настройки нет никакого толку, если менять её …
Разбиение проекта по приложениям нужно как раз для того, чтобы в проекте можно было очень …
Инструкции в документации неполны либо содержат ошибки. Возможно, инструкции просто устарели со временем. Воспринимайте инструкции …
Функция `get_object_or_404` нужна для View. Вне View её использовать не стоит. Вместо неё лучше используйте …
В файле settings.py есть настройка `SECRET_KEY` — это секретный ключ, с помощью которого шифруют пароли …
Запуск migrate может поломать ещё работающую старую версию Django. Чтобы простой сайта был меньше, лучше …
Почему-то на сервере все зависимости Python поставлены на уровне системы вместо виртуального окружения. Это помешает …
Деплойный скрипт -- не одноразовый. Это часть кода, часть его поставки. Его тоже нужно будет …
Установка NodeJS и npm -- не часть деплоя. Они должны быть установлены ещё до запуска …
Программисты будут ожидать от bash-сприпта, что он будет исполняемым и пробовать делать так: ```shell-session ./deploy.sh …
Вы уже сообщили в Rollbar о успешном деплое, но ведь его ещё не состоялось! А …
Чем больше в конфиге кода, тем сложнее в нём разобраться. Чем труднее разбираться, тем меньше …
Django просит вас вручную создавать все необходимые файлы специально. Ведь могла бы и генерировать их …
Если сломается любая из management-команд, то, по идее, деплой должен быть прерван, а по факту …
На сайте помимо бекенда есть ещё и фронт. И программисты будут дописывать и его. Помимо …
При каждом деплое GitHub будет запрашивать ваши логин и пароль. Это жутко неудобно. Настройте remote …
Сейчас ваш сайт запущен как бы "в режиме продакшна", но у сайта включен дебаг. Из-за …
Конфиг Nginx -- тоже код, и его тоже будут читать и редактировать другие люди. Стоит …
Пагинатор предлагает пользователю листнуть "влево", даже когда пользователь уже на первой странице. ![](https://i.imgur.com/aGvFOEe.png) Чтобы пользователь …
Изучите возможную ошибку на следующем примере: * [least-astonishment-and-the-mutable-default-argument](https://stackoverflow.com/questions/1132941/least-astonishment-and-the-mutable-default-argument)
Подогнать вёрстку под дизайн бывает сложно. Дизайнер в своём макете задаёт положение каждому элементу на …
Понимаю, часто выбрать в качестве тестового слова `hui` -- очень смешно в процессе выполнения какого-либо …
Заголовки -- это особый элемент форматирования текста. Он предназначен для выделения главной мысли в абзаце, …
Это не какая-то проблема в вёрстке, просто хотел посоветовать поставить пагинатор по центру. Мне кажется, …