Czy aby template widzial zmienna lub obiekt to musze ja dodac do return render? Wedlug ksiazki, ktora przerabiam nie. Ale dopiero jak umieszcze ja w return render i zdefiniuje w kazdym warunku to dziala to jak chce :/
@michael93pl: próbuje to rozkminic, ale jak dodaje do contextu to przy warunku gdzie dany obiekt nie jest tworzony to wysypuje sie twierdzac ze zmienna nie jest przypisana. Ok moge ja zdefiniowac w innym warunku ale bedzie to mialo taki sam efekt jak wczesniej zrobilem. W sumie to niczym sie nie rozni. Skoro aby template widzial to musze to dodac a skoro dodac to i nadac jakas wartosc to "if cos"
Podczas metody POST jest dodawany komentarz i tworzony obiekt newcomment
Template sprawdza czy istnieje newcomment i jesli tak to wyswietla ze dodano wpis. Teraz dziala to tak ze po wyslaniu komentarza pola form dalej sa wypelnione i mozna klikac i dodawac do woli dublowac posty. Jesli dam new_comment != "0" w template a w view w else ustawie jego wartosc na 0 i
@takelbery nie rozpisze Ci tego w tramwaju ale poczytaj i tym jak działają requesty, 1) getujesz url, w widoku, ktory go obsluguje możesz wyświetlić form do uzupełnienia i mieć dostęp do wszystkiego, co przekażesz w contextu, czyli np listy obiektów, które chcesz wyświetlić, czy co tam potrzebujesz na danej stronie. 2) kiedy obslugujesz post to przyjmujesz jakieś dane, zapewne walidujesz ich poprawność np w formie, jeżeli jest poprawny to dalej coś
@michael93pl: ok, dzieki :) przerabiam ksiazke Django 2 wyd. 2 Antonio Mele i trafilem na taka przeszkode :) posiedze jeszcze nad tym. Cala funkcjonalnosc jest zachowana poza tym szczegolem.
@takelbery serio polecam ten tutorial, jest napisany bardzo prostym językiem i masz tam cala wiedzę, która będzie Ci potrzebna do stworzenia podobnych stronek, to samo na YT jest tego sporo
@michael93pl: Dzieki, hmm dobrze rozumiem ze nawet podczas POST musze definiowac zmienne w context dla szablonu?
Skrypt wprost z ksiazki dziala, wpisy dodaja sie do bazy etc. Tylko template nie reaguje. Dziwi mnie ze moze byc taki blad w ksiazce. Jesli dobrze czytam manuale to przy post tez wystepuje context. W takim razie przeedytowalem skrypt tak i dziala tak jak autor zakladal.
Kiedy wchodzisz na jakiś url w przeglądarce to z zasady wysyłasz tam GET request --> chcesz pobrać jakieś dane wpisujesz url, django wybiera który widok ma się wyświetlić i jakie dane ma tam przesłać - np (form + context).
Kiedy wysyłasz POST request na server, to chcesz dodać jakieś dane, nie oznacza to, że zostaną one wyświetlone w jakikolwiek sposób podczas POST request, nie od tego on służy. Nie chodzi o
@michael93pl: Jeszcze raz dzieki za wyjasnienia. Z teoria POST i GET raczej problemu nie mam :) w Twoim przykladzie upewniles mnie ze trzeba dodac obiekt new_post do context aby szablon go widzial. Ja wkleilem Ci tylko funkcjonalnosc dodania posta jesli request jest typu POST ktora znajduje sie w widoku calego posta. W calosci to wyglada tak ze mam strone ktora wyswietla liste komentarzy pod danym postem i formularz. POST i
Czy aby template widzial zmienna lub obiekt to musze ja dodac do return render? Wedlug ksiazki, ktora przerabiam nie. Ale dopiero jak umieszcze ja w return render i zdefiniuje w kazdym warunku to dziala to jak chce :/
http://www.learningaboutelectronics.com/Articles/How-to-pass-a-Python-variable-to-a-template-in-Django.php
najwyzej wklej kod swój w paste.bin z podziałem na pliki co gdzie robisz
Pastebin.com/aLhiQyWL
Podczas metody POST jest dodawany komentarz i tworzony obiekt newcomment
Template sprawdza czy istnieje newcomment i jesli tak to wyswietla ze dodano wpis. Teraz dziala to tak ze po wyslaniu komentarza pola form dalej sa wypelnione i mozna klikac i dodawac do woli dublowac posty. Jesli dam new_comment != "0" w template a w view w else ustawie jego wartosc na 0 i
1) getujesz url, w widoku, ktory go obsluguje możesz wyświetlić form do uzupełnienia i mieć dostęp do wszystkiego, co przekażesz w contextu, czyli np listy obiektów, które chcesz wyświetlić, czy co tam potrzebujesz na danej stronie.
2) kiedy obslugujesz post to przyjmujesz jakieś dane, zapewne walidujesz ich poprawność np w formie, jeżeli jest poprawny to dalej coś
Skrypt wprost z ksiazki dziala, wpisy dodaja sie do bazy etc. Tylko template nie reaguje. Dziwi mnie ze moze byc taki blad w ksiazce. Jesli dobrze czytam manuale to przy post tez wystepuje context. W takim razie przeedytowalem skrypt tak i dziala tak jak autor zakladal.
pastebin.com/uRTLD1pY
Co o tym myslisz?
Kiedy wchodzisz na jakiś url w przeglądarce to z zasady wysyłasz tam GET request --> chcesz pobrać jakieś dane
wpisujesz url, django wybiera który widok ma się wyświetlić i jakie dane ma tam przesłać - np (form + context).
Kiedy wysyłasz POST request na server, to chcesz dodać jakieś dane, nie oznacza to, że zostaną one wyświetlone w jakikolwiek sposób podczas POST request, nie od tego on służy. Nie chodzi o