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

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

И меняем c url на path

Необязательно, в 2.0 старый вариант не убирали


is_authenticate

Опечатка, is_authenticated


А вообще «на этом всё» только для совсем простых сайтов. У меня тут был сайт на Django 1.10 с выстраданными кастомными виджетами в админке — в Django 1.11 к виджетам прикрутили шаблонизатор (наконец-то, джва года ждал!) с поломкой обратной совместимости, что привело к фактически полному переписыванию виджетов, замучался


Ну и у сторонних пакетов тоже может измениться API, под их новые версии наверняка тоже придётся что-нибудь переписывать

Да согласен, не убрали, но я считаю изменить нужно обязательно, приведу аналогию: можно и дальше писать на функциях и не использовать CBV, что я считаю категорически не стоит делать, кроме каких то исключений, когда это оправдано, тем самым не использовать новый функционал, то же самое и тут, по этому изменить стоит, раз переписываем то всё, может в будущем старый метод устареет и будет удалён, кто знает)
За опечатку спасибо, поправлю)
В конце статьи написано, что если проект у вас большой, то и ошибок будет гораздо больше, к сожалению, под все проекты написать статью невозможно, данная статья была направлена как раз на основные нюансы обновления, которые свойственны всем проектам, а также она написана, для того что бы помочь быстрее разобраться с главными изменениями и приступить к обновлению.

CBV — неудобное убожество, которое на мало-мальски сложных вьюхах превращается в неразборчивую мешанину из кучи классов и их наследований, а при отказе от наследования вырождается в обычные функции. Всегда писал, пишу и буду писать только вьюхи-функции, потому что от CBV никакой практической пользы нет. И это не только моё мнение, другие хабраюзеры тоже высказывались об этом.


Кстати, переименование MIDDLEWARE_CLASSES в MIDDLEWARE связано с тем, что теперь они могут быть просто функциями, и это меня очень радует

В этом конечно я с вами не согласен, переписывал проекты с функций на классы, код превращался в сказку и читался очень хорошо, если грамотно работать с наследованием, с методами, структурировать код, разносить по разным методам разный функционал, то код получается весь единообразный, что в дальнейшем помогает не только самому читать код быстро, но и вводить других разработчиков в сам проект, ибо классы помогают придерживаться единого стиля для всех разработчиков, конечно если разобраться со всеми методами, которые даны в стандартной поставке из коробки, тогда это сильно упрощает разработку, остальное же дописывает исходя из основ, которые свойственны для всех языков(наследование, разграничение, вынос отдельного функционала и тд). Но тут статья не об этом, не хочу спорить и уходить в холи вар, да и негатив только создаётся) Каждому своё, я понял вашу точку зрения, а также обозначил свою, надеюсь не будет напряжённой атмосферы)
Судя по версии Джанги еще надо будет по файлам пройтись 2to3, потому что вторая версия работает только с третьим Питоном.
А переходить на третий питон нужно было начинать сильно раньше)
Спасибо за статью.
Пара замечаний. 1. Ваше именование вьюх(Create, App) очень неинтутивное. ИМХО лучше не экономить символы и писать более длинные названия — UserCreateView например. 2. В вашей статье указаны не все обратно несовместимые изменения при переходе на 2.0, поэтому было бы логично закочить статью ссылками на официальную документацию — список изменений, иструкция по обновлению версии django. По последней ссылке, кстати, рассказывается как подготовиться к этому заранее и обновить более плавно.
Спасибо, учту в следующий раз)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории