Посты с тэгом views


Как работают Django Class-based views

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

Я хочу залезть под капот фреймворка и строчка за строчкой разобрать, как же работают представления на основе классов. Надеюсь, что по прочтении, Class-based views уже не будут казаться такими пугающими и я подстегну вас к дальнейшему самостоятельному изучению исходников. Возможно, вы думали о фреймворке как о некой магии, которую невозможно понять, но на самом деле это обычный код, написанный опытными разработчиками.

Читать далее


«Декораторы проверки» для Views

Рассуждаем про декораторы


Каждый из нас не раз использовал декоратор login_required и скорее всего писал похожий декоратор(скажем для проверки пустая ли корзина). Давайте рассмотрим что делает данный декоратор:
поговорить про декораторы


DJANGO и ORACLE VIEWS

Я использую связку DJANGO + ORACLE. Как известно, эта связка из стандартных бэкендов наименее проработана. Например, проблема с TRUNC DATE - адепты PostgreSQL передают туда 'hour', а для Oracle нужно 'HH24'. И таких мелких проблем очень много. К счастью, все эти проблемы решаемы, иногда даже без хаков db backenda django.
Итак, ситуация. Пишу B2B приложение, две базы Oracle связаны по dblinkу, одна корпоративная, где ведется учет и вторая специально под сайт. Чтобы не заниматься репликацией между базами было решено сделать несколько представлений на стороне web-базы. Для удобства я решил подложить под них модели, но столкнулся с проблемой syncdb - Oracle вполне ожидаемо не смог создать таблицы (которые по сути были не нужны), потому как имена были уже заняты соответствующими представлениями. Вопрос - как заставить django при синхронизации просматривать не только список таблиц, но также и список представлений?
Первое решение в лоб - как известно, django при проверке таблиц под