1)Этой штуки нет по дефолту в .env.dist
![image](https://user-images.githubusercontent.com/91815912/230777868-db6bfe8e-1994-4141-9815-bc879b5c4c0c.png)
Этой тоже COMMENTS_PAGINATE_BY
2)Зачем тебе эти комменты?
![image](https://user-images.githubusercontent.com/91815912/230777919-57778260-026f-435b-afac-05e54c581a40.png)
3)Нет запятой + это тоже надо из енва тянуть
![image](https://user-images.githubusercontent.com/91815912/230777944-fefbd611-edff-4f35-9b67-d75c3b95998a.png)
4)Имхо в двух местах надо менять логкику поведение тулбара - эт плохо
![image](https://user-images.githubusercontent.com/91815912/230777973-ca4d6102-7c29-4ff3-aab8-2522328160a6.png)
5)Ну скапипаситил ты эт с доки, но комменты то удали...
![image](https://user-images.githubusercontent.com/91815912/230778051-2083076d-7c1c-4061-81bb-c826d33158d6.png)
6)Почему ты тут напрямую подключаешь RecipesListView в мейн урлы - так делать плохо
![image](https://user-images.githubusercontent.com/91815912/230778123-491f9195-40a7-40fe-a324-7f86a45e7772.png)
7)Имхо метод назван не понятно + в его название не сказано, что ты чет сетишь в кеш
![image](https://user-images.githubusercontent.com/91815912/230778212-b8effad4-5ba0-44fd-82bf-a7e3b5e3bb18.png)
8)По хорошему поля модели стоит писать: Model.field_name.field.name, то есть User.username.field.name - это поможет потом избежать ошибок, когда у тебя в моделе кто-то название филда поменяет+ еще плюшки есть
![image](https://user-images.githubusercontent.com/91815912/230778290-d769f11c-8e98-4177-92e5-2d3c9b0c947a.png)
9)Во-первых, добавь в название класса User, во-вторых, зачем тебе нужен этот комент? он фактически повторяет название класса
![image](https://user-images.githubusercontent.com/91815912/230778329-9a2186b5-2c6d-4101-b39c-3437f87e2fd7.png)
10) а юзернейм тут может быть None?
![image](https://user-images.githubusercontent.com/91815912/230778449-0a49c438-3413-4948-910a-26084a15b59d.png)
11)if request.user.is_anonymous лучше, чем начало условия с not
![image](https://user-images.githubusercontent.com/91815912/230778532-3056e641-4788-446d-9877-08277451d16f.png)
12)Это надо ограничвать на уровне модели, а не формы
![image](https://user-images.githubusercontent.com/91815912/230778612-eefddd46-0195-48ba-ab02-2e45cb72f818.png)
13)Не совсем понятно, почему бы это не вынести в сеттингс и импортить от туда?
![image](https://user-images.githubusercontent.com/91815912/230778678-a6388b5d-6da4-425b-b793-ffea4d0d8e60.png)
14)А эт зачем? тебе же джанга не даст создать юзера, если юзернейм будет уже в бд так как поле uniq
![image](https://user-images.githubusercontent.com/91815912/230778750-e1ca3d59-ad27-4df8-9e57-45a313e824e6.png)
15)Опять чет сомнительное
![image](https://user-images.githubusercontent.com/91815912/230778888-122979b7-b5ba-4594-a409-26618d6a4a98.png)
16)я конечно не уверен, но мне кажется, что ты какое-то дефолт поведение переписал
![image](https://user-images.githubusercontent.com/91815912/230778977-3276b837-cf96-415f-a0ba-50da2dca2629.png)
17)такое делать нельзя, солид нарушаешь
![image](https://user-images.githubusercontent.com/91815912/230779025-5d37dffc-9d96-4da1-8776-17b7557c6257.png)
18) а какой сокральный смысл имеет это? там же и так будет user и users по дефолту, так как у тебя модель так называется
![image](https://user-images.githubusercontent.com/91815912/230779187-70ddfc1b-5e0d-42d4-8623-4da35fc75174.png)
19) По код стайлу джанги: сначала идет Meta, потом str, а уже потом методы
![image](https://user-images.githubusercontent.com/91815912/230779225-ffb0dac1-432b-45ec-9aff-80a4dc0bfa04.png)
https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/#model-style
20)Почему у тебя в одном классе есть Meta, а в другом нет? Какой смысл давать вербозы половине сущностей?
21)Почему ты это делаешь тут, если у тебя есть селери таска, которая делает то же самое?
![image](https://user-images.githubusercontent.com/91815912/230779326-2ace641a-e3d0-43a2-aaef-e828a20058bb.png)
В чем проблема ее тут заюзать?
22)Это пишется проще. return self.expiration < now()
![image](https://user-images.githubusercontent.com/91815912/230779367-32cd5565-5a3e-4d66-948f-29a05d9d3b79.png)
23)Юзай менеджеры модели, чтобы у тебя не было куча мест с одинаковыми orm запросами
24)Зачем ты тут тайпхинт заюзал? У тебя их негде нет, но зато в сетапе тестов заюзал)
![image](https://user-images.githubusercontent.com/91815912/230779503-26c13532-0859-459e-a998-359c55cf9901.png)
25)Очень плохая идея такие тесты делать, ты тестишь какой-то тайтл, который может менятся. Не тестируй сам контент страницы
![image](https://user-images.githubusercontent.com/91815912/230779534-8770841b-d84f-450c-b1c7-48c4aad2cf55.png)
26)Тестить то какой темплейт юзался - тоже странно
![image](https://user-images.githubusercontent.com/91815912/230779571-f534ca32-c19b-4cff-9f12-6142654a978a.png)
27)Зачем тебе эт надо было в отдельный метод выносить?
![image](https://user-images.githubusercontent.com/91815912/230779648-7825ce1f-c7af-482a-bb18-9e4d0d82e6dc.png)
28)До тестов докапаться есть до чего конечно - но мне лень. То что их написал уже +rep
29)Выглидит не красиво, стоит делать в одном стиле все
![image](https://user-images.githubusercontent.com/91815912/230779693-4c3d12a5-fd4f-437b-a758-9cefb02ed2e6.png)
30) Не понял зачем тебе декоратор, которым ты оборачиваешь классы, почему бы миксин не сделать?
![image](https://user-images.githubusercontent.com/91815912/230779761-77efadb8-416b-433b-a55b-996895407910.png)
31)Ты эту штуку пишешь в каждой вьюхе - время задуматься
![image](https://user-images.githubusercontent.com/91815912/230779785-57556f0a-d3c0-48e9-983a-aea00bc8036a.png)
32)Это какая-то логика с сессией точно не уровень абстракции метода form_valid
![image](https://user-images.githubusercontent.com/91815912/230779871-566e68f3-9b40-4bfb-b858-0390a1f542a8.png)
33)ок, сверх челу поможешь, мог еще написать что мб проблема в нем просто
![image](https://user-images.githubusercontent.com/91815912/230779896-e65f6564-213e-4adc-8c6f-4e1c6f9c1e31.png)
34)Какой смысл это выносить отдельно, в чем проблема там сразу это сделать
![image](https://user-images.githubusercontent.com/91815912/230779930-c3fb94ce-c706-44e6-a7bc-6eaca2d622ee.png)
35)какая-то сверх сложная бизнес логика, который не место во вьюхе
![image](https://user-images.githubusercontent.com/91815912/230780022-26d0e0de-fae0-4e18-befd-c6ca1c49f943.png)
36) тут можно замашнить за харкод таймдельты
![image](https://user-images.githubusercontent.com/91815912/230780069-ef22b23e-6924-4037-8c07-126b219bae46.png)
37)Не совсем понятно, зачем тебе is_valid_uuid тут делать
![image](https://user-images.githubusercontent.com/91815912/230780120-d8837c43-fc37-4ef4-8fa1-2089cb5d8d54.png)
38)Пепка не любит такие переносы строк
![image](https://user-images.githubusercontent.com/91815912/230780162-71532aea-cf93-429f-a93d-c6fa11ad80af.png)
39)Почему апи accounts и recipe в одном месте? Это два независимых приложения
![image](https://user-images.githubusercontent.com/91815912/230780250-741ba36e-4e6d-4bb3-bdbe-e6eaa231a044.png)
40)а тут в теории может не быть username?)
![image](https://user-images.githubusercontent.com/91815912/230780283-532ad923-f1ed-46bf-881f-394a638a4373.png)
41)Эт же не будет правильно работать, оно ж один раз в самом начале сделает запрос, а потом там будет устаревшая дата, или на это и был расчет?
![image](https://user-images.githubusercontent.com/91815912/230780347-6faa0a7e-6379-4ec6-810c-1cc4ac15f11d.png)
(Мб я конечно чет путаю)
42)А еще эту штуку лучше делать через доп серилизатор
43)Какая-то сверх сильная система, мне кажется эт лучше проще делать
![image](https://user-images.githubusercontent.com/91815912/230780518-e908bf4d-aee6-4a44-93f0-522cff67e429.png)
44)где-то я уже это видел) Дублировать код не оч классно
![image](https://user-images.githubusercontent.com/91815912/230780559-6f957ca7-84f5-47fc-af9d-eb541086b140.png)
45)Во-первых, я эт опять же видел в каком-то похожем стиле + эта штука кучу запросов делает + не понятно ничего + куча бизнес логике там, где ее быть не должно
![image](https://user-images.githubusercontent.com/91815912/230780655-e47b8530-f528-475c-acd7-573b9604258e.png)
46)Никогда так не делай
![image](https://user-images.githubusercontent.com/91815912/230780660-0dff5f30-c018-4166-a10d-0c3b87814334.png)
47)Почему эти цифры такие? Откуда они?
![image](https://user-images.githubusercontent.com/91815912/230780722-2e523339-9858-4a8e-94d5-64c9596a8640.png)
48)немного не в тему, но почему у тебя все в кучу, почему оно лежит прямо в джанге?
![image](https://user-images.githubusercontent.com/91815912/230780778-7b2bbc43-ae4b-4f7c-9965-57c014620466.png)
49)Почему это тут, а не в менеджере модели?
![image](https://user-images.githubusercontent.com/91815912/230780868-fc62c203-3fb1-4a97-a7f6-87197f5bd9b0.png)
50)Почему какие-то вьюхи функции, а какие-то классы? Мб стоит писать в одном стиле?
51)ПОЧЕМУ 60 * 60? Почему бы это не вынести куда-то в константы, тут ваще не понятно, что и зачем это
![image](https://user-images.githubusercontent.com/91815912/230780959-257e3d4a-2d22-43b0-9783-214e5fdc2514.png)
52)А и то и другое не может быть вместе?
![image](https://user-images.githubusercontent.com/91815912/230780990-69658cbd-951f-4381-959e-71f72bf53194.png)
53)Лямбда фор вот? Почему бы просто так не оставить Category.objects.all
54)Вот эт вот - это пиздец, а не функция, чтобы понять что тут происходит надо потратить кучу времени, ее надо раздрабить на функции. Плюс куча бизнес логики, которой тут тоже быть не должно
![image](https://user-images.githubusercontent.com/91815912/230781096-ecda914f-4a75-423e-8f28-ddda4be5a902.png)
У тебя такой штуки очень много, где дохуя бизнес логики и прочих моментов во вьюшках. Так быть не должно
55)Куча моментов, где ты ебешь базу хз зачем. То есть делаешь сверх много запросов, когда эт не нужно.
![image](https://user-images.githubusercontent.com/91815912/230781198-4ae4ffe9-e1f8-4777-8ffc-ef2db85ed8c8.png)
Про запросы - там вроде есть моменты, где все будет ваще плохо, но мне было лень разворачивать проект и проверять эт все, так что советую: залить базу и идти в дебаг тулбаре посмотреть запросы на каждой вьюшке
56)Еще раз повторю - пиши запросы в менеджере модели. потому что сейчас вьюшки читать не реально.
57)Еще раз дубляж кода, эти функции - сверх одинаковые
![image](https://user-images.githubusercontent.com/91815912/230781364-6acf489e-5229-4000-a04c-d75789ef84c5.png)
58) Сверх странная логика в закладки рецепта добавлять/удалять юзера, чет тут не то
![image](https://user-images.githubusercontent.com/91815912/230781427-450b8eb0-1462-4c98-b41a-42ac80386d73.png)
59)FormView спасет тебе тут жизнь
![image](https://user-images.githubusercontent.com/91815912/230781448-693f0d38-764c-4843-9df2-aad97ac69110.png)
60)Совет: погугли про поетри
![image](https://user-images.githubusercontent.com/91815912/230781490-64f429d1-b839-4ef0-9cb1-3e2ebcbfa681.png)
61)Почему у тебя бейз шаблон валяется в recipe?
Шаблоны я особо не чекал, так что про них наверное можно тоже чет посмотреть.
62)У тебя нигде не юзаются тайпхинты и тут ты решил еще и typing импортнуть, вай?
![image](https://user-images.githubusercontent.com/91815912/230781609-bd798492-24c4-40e1-806e-02d16fc21b50.png)
Плюс мне кажется, данный алго
С первого взгляда вроде все. Но скорее всего чет упустил.
Совет: перед тем как строчить код, как легенда, стоит чуток посидеть и подумать. Пытайся делать функции короче, разделяй уровень абстракции функций/классов/методов, чтобы у тебя не было кучи бизнес логики во вьюхах например.