Wpis z mikrobloga

#django #python

Istnieje jakaś ogólna reguła mówiąca jak się zabierać do drobnych zmian w gotowych modułach / frameworkach z których się korzysta? Załózmy że mam framework złożony z kilku aplikacji (mezzanine) i w jednej z nich chcę zmienić dosłownie jedną linijkę w widoku. Modyfikowanie oryginalnego kodu oczywiście nie wchodzi w grę. Pisać własny widok i wszystko poza tą linią kopiować, a potem zmieniać urlsy, czy jak?
  • 8
@blackyabbol: Jeśli zmiana kodu nie wchodzi w grę (ani inne modyfikacje) to możesz zastosować taką protezę. Jeśli działa to nie jest głupie.

Ale może ktoś coś przewidział w obrębie tego frameworka albo technologii na takie przypadki ?
@Ilythiiri: Właśnie w dokumentacji na temat modyfikowania widoków nic nie znalazłem. Ogólnie modyfikacja oryginalnego kodu teoretycznie jest możliwa, ale zdawało mi się że to bardzo zła praktyka? No bo co z późniejszą np. aktualizacją czy przenoszeniem na inny serwer? Mówię o plikach w folderze pythona, gdzie zainstalował się framework.
@blackyabbol: Serio, nie umiem Ci odpowiedzieć. Ogólnie to czemu miałbyś modyfikować pliki frameworku ? Nie da się tego jakoś obejść ?

No bo rzeczywiście modyfikacja plików core'owych samego frameworku raczej nie wchodzi w grę.
@Ilythiiri: > Ogólnie to czemu miałbyś modyfikować pliki frameworku ?
Przy dokładaniu modółów z frameworku do projektu nie tworzy się żadna lokalna kopia, tylko django korzysta z tych core'owych :/

@skew: Na każdy widok przypada osobna funkcja, nie są upakowane w klasę. Dlatego jedyne na co wpadłem to stworzenie nowej appki, w niej views.py, zaimplementowanie tej nieszczęsnej funkcji kopiując wszystko z podmianą linii, a potem zaimportowanie całej reszty z oryginalnego
@skew: Hm, pomysł dobry tylko w moim przypadku widok jest zdefiniowany w mezzanine.blog.views , i w urls.py (również core'owy plik - w moich urlsach go includuję) import idzie bezpośrednio stamtąd. Nie bardzo mam gdzie to wcisnąć, bez zmiany urli.

@laki1: dzięki, wygląda ciekawie, zaraz spróbuję bo chyba o coś w tym stylu mi chodziło