Mirkokuce powiedzcie mi jak to jest. Próbuję się przebranżowić i przejść z php (Magento, Symfony) na Pythona, konkretniej Django. Siedzę nad tym już któryś dzień i jestem tym aż zmęczony. Tak jak Magento (mimo że leciwe) i Symfony (mimo że napisane w znienawidzonym przez wszystkich php) wydają mi się jakieś takie porządne i poukładane, tak do Django nie mogę się przekonać. Wszystko wydaje mi się tutaj takie do bólu uproszczone i spłycone do tego stopnia, że nie potrafię sobie wyobrazić pisania w tym aplikacji większej niż prosty blog.
Wiem, że że to błędne myślenie bo na bazie Django powstają molochy, ale pedantyzm który nabyłem przez cały okres pracy w pehapie sprawia, że ciężko mi w tym Pythonie cokolwiek napisać. Rzuciłem okiem na RoR, frameworki Javy i tam też wszystko jakoś tak zorganizowane, ładnie porozdzielane, a w django wszystko jebnięte razem do kupy, modele w jednym pliku, widoki też w jednym, a ludzie piszą, że tak jest ok i że 'Django way' i 'simplicity'.
Pytanie do doświadczonych, jak to wygląda w poważniejszych zastosowaniach? Czy kod (a konkretniej jego struktura i struktura katalogów) wyglądają z grubsza tak jak w zaleca dokumentacja? Co robicie żeby się w tym nie zakopać? Może jest jakaś zasada jak rodzielać projekt na appy, żeby ten podział nie był sztuczny? Jak wyglądałby taki podział dla przykładowej aplikacji bloga, udostępniającej funkcjonalności postowania, komentarzy, tagów i kategoryzowania wpisów? #django
@xmihau: jezeli chodzi o takiego bloga to wydzielilbym najwyzej 2 appki, od wpisow i od komentarzy. Django jest o type fajne, ze ma niski prog wejscia, dlatego wydaje sie 'uproszczone', ale jest tez bardzo rozszerzalne, a porzadek mimo to stosunkowo latwo zachowac. No i inne ORMy przy djangowym to straszna bieda, mozliwosci operowania na bazach danych w djangowym ORMie sa zajebiste - bajecznie proste joiny, mozliwosc tworzenia nawet skomplikowanych zapytan bez
@Tril: Dzięki za odpowiedź, debug toolbar sprawdzę, z PyCharm korzystam i sobie chwalę (na co dzień używam PhpStorm - to samo, tylko że do php). Powiedz mi jeszcze skąd taki podział. Wydaje mi się, że takie apki powinny być w miare niezależne, przy takim podziale uzyskujemy faktycznie niezależną aplikację do wpisów, ale komentarze bez wpisów już raczej istnieć nie mogą. Skąd więc złączenie kategorii i tagów z postami, a oddzielenie komentarzy
@xmihau: Napisałem "co najwyżej" - osobiście przy tak małej aplikacji to pewnie bym wrzucił razem. Przy tym podziale można to uzasadnić mniej więcej w taki sposób co napisałeś - co prawda jedna appka jest zależna od drugiej, ale druga nie jest zależna od pierwszej. Bo rzadko się trafi projekt w którym będzie się dało oddzielić wszystko kompletnie. De facto sprowadza się do zdrowego rozsądku. Np (przykład z dupy oczywiście), w systemie
Próbuję się przebranżowić i przejść z php (Magento, Symfony) na Pythona, konkretniej Django. Siedzę nad tym już któryś dzień i jestem tym aż zmęczony. Tak jak Magento (mimo że leciwe) i Symfony (mimo że napisane w znienawidzonym przez wszystkich php) wydają mi się jakieś takie porządne i poukładane, tak do Django nie mogę się przekonać. Wszystko wydaje mi się tutaj takie do bólu uproszczone i spłycone do tego stopnia, że nie potrafię sobie wyobrazić pisania w tym aplikacji większej niż prosty blog.
Wiem, że że to błędne myślenie bo na bazie Django powstają molochy, ale pedantyzm który nabyłem przez cały okres pracy w pehapie sprawia, że ciężko mi w tym Pythonie cokolwiek napisać. Rzuciłem okiem na RoR, frameworki Javy i tam też wszystko jakoś tak zorganizowane, ładnie porozdzielane, a w django wszystko jebnięte razem do kupy, modele w jednym pliku, widoki też w jednym, a ludzie piszą, że tak jest ok i że 'Django way' i 'simplicity'.
Pytanie do doświadczonych, jak to wygląda w poważniejszych zastosowaniach? Czy kod (a konkretniej jego struktura i struktura katalogów) wyglądają z grubsza tak jak w zaleca dokumentacja? Co robicie żeby się w tym nie zakopać? Może jest jakaś zasada jak rodzielać projekt na appy, żeby ten podział nie był sztuczny? Jak wyglądałby taki podział dla przykładowej aplikacji bloga, udostępniającej funkcjonalności postowania, komentarzy, tagów i kategoryzowania wpisów?
#django
Django jest o type fajne, ze ma niski prog wejscia, dlatego wydaje sie 'uproszczone', ale jest tez bardzo rozszerzalne, a porzadek mimo to stosunkowo latwo zachowac. No i inne ORMy przy djangowym to straszna bieda, mozliwosci operowania na bazach danych w djangowym ORMie sa zajebiste - bajecznie proste joiny, mozliwosc tworzenia nawet skomplikowanych zapytan bez