od Podstaw
4 godz. 14 min · Python · Full-stack i Programowanie
Rafał Stępień.NET, JS, Java, PythonZaczniemy spokojnie, od konfiguracji Pythona oraz środowiska programistycznego. Nie tracąc czasu uzbroję Cię w zestaw podstawowych instrukcji, za pomocą których stworzymy pierwsze praktyczne programy komputerowe. Zobaczysz na czym polega logika tworzenia aplikacji, jak poprawnie wykorzystywać typy zmiennych udostępnione przez twórców Pythona oraz jak poradzić sobie z obsługą błędów. Na końcu tej sekcji dowiesz się w jaki sposób dbać o wygląd naszego kodu oraz zaoszczędzić czas stosując funkcję.
Żeby zrozumieć i wykorzystywać pracę innych programistów pragnę pokazać Ci czym są moduły i w jaki sposób możesz je tworzyć w Twoim programie. To częsta praktyka pozwalająca na zachowanie przejrzystości kodu wraz z możliwością jego powtórnego wykorzystania w innych częściach naszej aplikacji. Zaznajomimy się z narzędziem PIP, dzięki któremu z łatwością zainstalujesz jeden z ponad 200 000 projektów (bibliotek). Korzystając z pracy wykonanej dzięki tysiącom innych programistów zaoszczędzisz czas oraz zminimalizujesz ilość popełnianych błędów. Na koniec sekcji dowiesz się czym jest virtualenv i dlaczego warto korzystać z niego w każdym projekcie.
W tej sekcji wejdziemy do świata programowania obiektowego - najczęściej wykorzystywanego sposobu w jaki formuje się programy komputerowe w dzisiejszym świecie. Dowiesz się czym jest klasa oraz jak utworzyć ją w Pythonie. Zobaczysz że programiści starają się odzwierciedlić otaczający nasz świat w postać kodu na wszystkie możliwe sposoby. Zapoznam Cię z głównymi nurtami w programowaniu obiektowym, aby zrozumieć w jaki sposób napisać dobrej jakości kod. W każdej części w praktyce wykorzystamy wiedzę teoretyczną zamieniając ją na postać kodu Python-a. Na koniec pokaże Ci jak można obsługiwać niestandardowe zachowania programu w taki sposób, aby nie przestraszyć użytkownika naszej aplikacji :)
Jeśli masz dosyć tworzenia aplikacji konsolowych...wreszcie możesz odetchnąć. Wkraczamy w świat internetu! Twoim celem jest napisanie kolejnego Facebook, utworzenie własnej strony internetowej lub serwera do gier? Czas wykorzystać wiedzę zgromadzoną podczas tego kursu. Pokaże Ci w jaki sposób zainstalować oraz skonfigurować mikroframework Flask do tworzenia aplikacji internetowych. Krok po kroku pomogę Ci w utworzeniu pierwszej aplikacji internetowej wraz z pokazaniem narzędzi takich jak Jinja, sesji oraz techniki Blueprint. Na koniec sekcji pokażę Ci w jaki sposób wgrać swoją aplikację na zewnętrzny serwer i pokazać się światu!
Podczas mojej nauki, pracy oraz pomocy innymi natknąłem się na wiele problemów, które blokowały początkujących adeptów programowania przed dalszą pracą. Być może utkniesz na jakimś błędzie, usuniesz niepoprawną część kodu lub nie będziesz wiedzieć co dzieje się z Twoim programem. Miałem wiele takich chwil, dlatego specjalnie na taką okazję utworzyłem dla Ciebie skrzynkę z narzędziami. Znajdziesz tam sposoby-wytrychy na poradzenie sobie w sytuacjach kryzysowych. Dowiesz się między innymi jak krok po kroku zobaczyć w jaki sposób komputer uruchamia Twój kod, czym mogą być spowodowane niespodziewane błędy oraz w jaki sposób poprawić jakość Twojej aplikacji.
Utworzyłem ten kurs dla osób, które są na początku swojej drogi z programowaniem oraz językiem Python. Jeśli posiadasz już doświadczenie w innych językach programowania z pewnością dużo łatwiej będzie Ci przyswoić wiedzę zawartą w tym kursie, niemniej zakładam, że nie masz pojęcia o programowaniu. W kursie stawiam na praktykę i chcę Ci pokazać jak szybko wykorzystać nabytą wiedzę, dlatego też po bardziej zaawansowaną część teoretyczną odsyłam do blogów, artykułów online oraz książek ze środowiska Pythona-.
W poprzedniej lekcji udało nam się przenieść naszą logikę za pomocą
narzędzia zwanego blueprint tym razem zajmiemy się już
całkowitą nawigacją w naszej aplikacji oraz
jak przejść na poszczególne zakładki stworzyłem
dla ciebie już gotowe widoki html bazują
one na tym samym pliku co add meal znajdziesz
je w pikach z kursem i teraz pokażę ci
w jaki sposób będziemy mogli wykonać nawigację być może
pamiętasz że do samej nawigacji będziemy
używać czegoś co nazywa się url for tutaj
mamy trzy formularze które będą służyły do dodawania serwisu dodawania
posiłku oraz sprawdzania jaki jaką
zniżkę powinniśmy zastosować dodajmy
zatem w pliku layout html interesujące
nas linki pamiętajmy
o tym że nie możemy używać tutaj cudzysłowia ponieważ
jest już nim obłożony atrybut href dlatego
też podając argument dla metody
url for będziemy używać apostrofów poprzednio
wpisywaliśmy na przykład add meal form zobaczymy
co się stanie kiedy podamy tą wartość znowu
nie byliśmy w stanie bezpośrednio znaleźć naszego add meal form
ale wystarczy tylko rzut okiem na informacje na temat błędu
i widzimy podpowiedź flaska pytający
czy chodziło nam o moduł form routes i route add new form
wystarczy zmodyfikować zatem nasz
kod i wskazać konkretny moduł do
którego chcemy się odnieść oświeżmy stronę świetnie
udało nam się utworzyć już link do przejścia na stronę
add meal potrzebujemy jeszcze linki do takich
miejsc jak add service oraz check discount
analogicznie za pomocą ctrl d
możemy przekopiować nasze linijki
i zweryfikować co się stało na
ekranie zobaczymy czy wszystko działa poprawnie utworzyliśmy bazową nawigację
dla użytkownika i nie musimy znać nazw konkretnych
route'ów dlatego też użytkownik
bezpośrednio przechodzi już z poziomu aplikacji html
to jeżeli zmodyfikowalibyśmy
route na przykład dla add meal form zobaczymy
co się stanie i dodali
na przykład 2 nie
będziemy w stanie zobaczyć
naszego nowego route'a jednakże flask automatycznie
dopasował nazwę naszej funkcji add meal form do
naszego nowego do naszej nowej ścieżki dlatego też
pamiętajmy o tym aby używać tutaj w
linkach tych nazw a nie podawać na sztywno
route'y ponieważ moglibyśmy zrobić to po prostu jako
slash add meal form 2
okej
i wszystko by działało jednakże w momencie kiedy byśmy
zmienili naszą ścieżkę to
niestety nasz route nie zostaje znaleziony dlatego też dobrą praktyką jest
używanie tego zapisu który pokazałem ci wcześniej i
bindowanie naszej bezpośredniej ścieżki do nazwy
metody a nie konkretnej a nie konkretnego route'a w naszej aplikacji