Комментарии 6
Вы не используете сериализатор во вьюхах и при этом возвращаете данные запроса по ключу аля
Лучше все таки валидировать параметры запросов, иначе будете ловить ошибки, когда нужного параметра не оказалось.
Тут вот можно вообще скопом удалять, а не дергать базу по одной записи. Вместо:
вот так:
Дальше, вместо этого:
вот так:
или вообще:
Не лучший путь харкодить пути как тут:
ведь есть же reverse:
Можно продолжать, но боюсь комментарий растянется.
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"?
Постепенно формируется де-факто стандарт называть питоновский environment ".venv". Этот формат поддерживают и всякие PyCharm и VSCode при загрузке проекта, и poetry его уважает.
Может, переименуете ваш «django_env» в ".venv"?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Создаем Todo приложение c помощью Django. Часть 1