Techniki Zaawansowane
3 godz. 43 min · Python · Full-stack i Programowanie
Grzegorz SzymborskiProgramistaJeżeli na samym początku nie przygotujemy dobrze projektu, to gdy wrócimy do niego po dłuższym czasie - czekają nas kłopoty. Jeżeli uda się nam go uruchomić, to rozeznanie się w nim będzie udręką. Prowadzący pokaże Ci jak wyglądają jego produkcyjne aplikacje, na co zwraca uwagę i co pomaga mu trzymać porządek.
Biblioteka pytest posiada wiele ciekawych funkcjonalności. Parametryzowanie testów, fixture i uproszczona składnia pozwalają nam skupić na testowaniu tego, co kluczowe, wydzielając mniej istotne fragmenty kodu. To wszystko sprawia, że w pewnym momencie łatwiej będzie Ci pisać testy, niż ręcznie sprawdzać poprawność działania apki.
Jeżeli aplikacja, którą stworzysz, osiągnie dużą popularność, może się okazać, że przytłoczona dużym ruchem zacznie spowalniać... lub całkowicie przestanie odpowiadać. Opiszemy różne techniki służące temu, by temu zaradzić - od metod select i prefetch related, aż po cache. Na deser przeprowadzimy na stronie test obciążeniowy za pomocą narzędzia locust.
Django i Postgres to świetne połączenie. Framework ten posiada wbudowaną obsługę wyszukiwania pełnotekstowego oferowanego przez tę bazę. Warto wiedzieć, kiedy jej użyć, a kiedy wystarczy zwykłe icontains.
ORM w Django ułatwia mnóstwo operacji. A czasem nie dość to, że ułatwia... to jeszcze przyspiesza! Chcemy zainspirować Cię czterema metodami: annotate, aggregate, bulkupdate i bulkcreate. Gdy pojawią się one w naszym kodzie, zaczniemy doceniać uroki frameworka Django.
Kurs jest stworzony dla osób, które znają już podstawy Django i wiedzą, jak pisać proste strony. Znają modele, widoki, oraz niestraszny im jest Python. Zalecana jest również podstawowa znajomość dowolnej relacyjnej bazy danych. W kursie przedstawiamy niekiedy narzędzia i praktyczne przykłady, jak można ich użyć, ale w celu zaimplementowania konkretnego rozwiązania w projekcie wymagana będzie umiejętność czytania dokumentacji.
Tej lekcji dalej będziemy zajmowali się
seria literami pokaże wam dwie bardzo przydatne metody.
Pierwsza będzie to tu interes owalu a druga tura prezentacje
metoda tu internat służy do zamiany prymitywnych danych dostępnych z zewnątrz
do wartości które rozumie Python i rozumie to NGO które prezentuje z kolei działa w
drugą stronę czyli służy do wystawiania informacji z Pythona na świat.
Dodałem w modelu Article polana użytkownika i chciałbym żeby ten
użytkownik wypełniał się w momencie jeżeli doda artykuł.
Chciałbym żeby ten użytkownik dodawał się
automatycznie na podstawie tego kto jest aktualnie załadowany.
Przejdziemy do widoku pokażę wam
jak zalogować się przez gang framework ponieważ Danger framework udostępnia taką
możliwość trzeba w pliku z URL sami dopisać adres.
Pod stronę logowania Framework.
Jest to dokładnie.
Ten fragment.
Importowane.
Paczkę sprawdzimy co się zmieniło na naszym widoku.
Okazało się że doszedł nam przycisk
zalogowania się dostajemy formularz z logowania.
Jeśli wcześniej stworzymy sobie.
Konto.
Administratora w tym celu.
Polecenia CREATE Superior user.
Stworzymy użytkownika admin.
W tym momencie.
Zalogowanie na administratora mamy tutaj login.
Dane są trzymane w sesji i chcielibyśmy żeby.
W momencie jak administrator Doda teraz artykułu.
To żeby Pole User wskazywało na na jego kraj Ameryki.
I w tym celu użyjemy metody tu internet.
Przechodzimy do seriali zera i.
Wpisujemy tu internet.
Koniecznie musimy wykonać super metody.
Tu internauta walił zwróci nam słownik
który będziemy dalej modyfikować i chcielibyśmy żeby pod data Józef R.
Wyciągnąć z kontekstu kilkunastu użytkownika i żeby go tam przepisać.
Należy to zrobić w ten sposób
że bierzemy słownik kontekst w którym domyślnie framework dorzuca.
Request.
Używa ma trybutu Józefa w tym momencie bardzo ważne jest żebyśmy zwrócili.
Data dalej dodajmy.
Nowy artykuł.
Okazuje się że użytkownik przypisał i zgodnie z tym administrator ma klucz.
1.
Jeżeli korzystamy z Request u to dobrym pomysłem zazwyczaj jest
sprawdzenie czy w ogóle tam występuje ponieważ jeżeli będziemy testować cztery
litery to niekoniecznie musimy go tam umieszczać.
Dlatego.
Zróbmy Quest Andrew Quest Józefa Becka by
sprawdzić czy jest użytkownik czy posiada on PK.
I tu możemy troszeczkę.
Skrócić kod sprawdzimy ponownie gdzie się wykonuje.
Wykonuje się.
Teraz zajmiemy się drugą z metod które chciałem pokazać w tej akcji.
Jest to metoda reprezentacji.
Czy ona gotową instancja obiektu.
I na tej podstawie możemy właściwie
zmodyfikować totalnie wróci seria liter jeżeli przekazał nam
pusty obiekt to w tym momencie wrócimy do listy.
W tym momencie mamy puste słowniki.
Więc jeśli słownik przyzwyczajenie JavaScript to.
Jeżeli byśmy chcieli zgłosić zwrócić coś
totalnie innego wygenerowane na bieżąco chcielibyśmy ukryć jakieś.
Pola to jest bardzo dobre miejsce od takich rzeczy.
Natomiast powiedzmy że chcielibyśmy zapier kasować wszystkie pola.
Powiedzmy że mamy takie wymagania.
Ponownie robimy super.
Zwracamy.
Data która za pomocą Dwight Hansen
z modyfikuje także klucz będzie adresowane walił pozostanie normalne i.
Data Systems.
Sprawdź.
Dostaliśmy wszystkie klucze z wielkimi literami które prezentuje MON.
Zazwyczaj używam na przykład kiedy chce pozbyć się wiszących wspólników kiedy nie
chce modyfikować danych w bazie danych nie chce tam twardych spacji ale chce żeby na
front gdzie wszystko wyświetlał się poprawnie.
Można to fajny sposób w działającej już serialach z bez modyfikacji modeli.
Kolejnym przykładem jest na przykład
zaprezentowanie odpowiednich danych dla administratora.
Jeżeli nie chcemy tworzyć osobnego serialu
i zera to możemy to zrobić właśnie w tej metodzie.
Istotną rzeczą którą można powiedzieć o metodzie tu internetowa.
Wracając jest to że to ona
w przypadku kiedy napotka na niewłaściwe dane zwraca błąd w National.