Как стать автором
Обновить

Комментарии 6

НЛО прилетело и опубликовало эту надпись здесь
Вы не используете сериализатор во вьюхах и при этом возвращаете данные запроса по ключу аля
request.POST["description"]

Лучше все таки валидировать параметры запросов, иначе будете ловить ошибки, когда нужного параметра не оказалось.

Тут вот можно вообще скопом удалять, а не дергать базу по одной записи. Вместо:
сateg = Category.objects.filter(id=int(check[i]))

вот так:
сateg = Category.objects.filter(id__in=[int(_id) for _id in check]).delete()

Дальше, вместо этого:
default=timezone.now().strftime("%Y-%m-%d")

вот так:
default=timezone.now().date()

или вообще:
models.DateField(auto_now_add=True)


Не лучший путь харкодить пути как тут:
redirect("/category")

ведь есть же reverse:
redirect(reverse('Category'))


Можно продолжать, но боюсь комментарий растянется.
default=timezone.now().strftime("%Y-%m-%d")
default=timezone.now().date()

Так вообще нельзя делать, это же будет статическое значение.

Забавно, что в коде допущены именно те ошибки, которые нас учили не делать именно на том курсе, который рекламируется в начале статьи.
Правда, преподаватель у нас вёл другой.


content = title + " -- " + date + " " + category

  • вообще за гранью. Могу предположить, что написано так, чтобы понял человек, видящий код на Пайтоне в первый раз, но инструменты для нормального форматирования строк есть, пожалуй, в любом современном ЯП.
И ещё просьба.
Постепенно формируется де-факто стандарт называть питоновский environment ".venv". Этот формат поддерживают и всякие PyCharm и VSCode при загрузке проекта, и poetry его уважает.
Может, переименуете ваш «django_env» в ".venv"?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий