{"id":5338,"date":"2022-10-23T21:22:00","date_gmt":"2022-10-23T19:22:00","guid":{"rendered":"https:\/\/arduino.net.pl\/?p=5338"},"modified":"2023-07-26T22:04:23","modified_gmt":"2023-07-26T20:04:23","slug":"flask-pierwsze-spojrzenie","status":"publish","type":"post","link":"https:\/\/arduino.net.pl\/index.php\/flask-pierwsze-spojrzenie\/","title":{"rendered":"Flask &#8211; pierwsze spojrzenie"},"content":{"rendered":"\n<p>Flask to to lekki i elastyczny szkielet aplikacji (ang. framework), kt\u00f3ry oferuje podstawowe narz\u0119dzia do obs\u0142ugi \u017c\u0105da\u0144 HTTP, routingu, obs\u0142ugi formularzy i szablon\u00f3w. Flask nie narzuca okre\u015blonej struktury projektu, co pozwala programi\u015bcie na wi\u0119ksz\u0105 swobod\u0119 w organizacji kodu i dostosowaniu aplikacji do konkretnych potrzeb. Dzi\u0119ki swojej prostocie, Flask jest cz\u0119sto wybierany do ma\u0142ych i \u015brednich projekt\u00f3w, ale mo\u017ce by\u0107 tak\u017ce wykorzystywany w bardziej zaawansowanych aplikacjach.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/arduino.net.pl\/wp-content\/uploads\/2022\/10\/Zrzut-ekranu-2022-10-23-o-23.20.53.png\"><img loading=\"lazy\" decoding=\"async\" width=\"442\" height=\"179\" src=\"https:\/\/arduino.net.pl\/wp-content\/uploads\/2022\/10\/Zrzut-ekranu-2022-10-23-o-23.20.53.png\" alt=\"flask etykieta\" class=\"wp-image-5354\" srcset=\"https:\/\/arduino.net.pl\/wp-content\/uploads\/2022\/10\/Zrzut-ekranu-2022-10-23-o-23.20.53.png 442w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2022\/10\/Zrzut-ekranu-2022-10-23-o-23.20.53-300x121.png 300w, https:\/\/arduino.net.pl\/wp-content\/uploads\/2022\/10\/Zrzut-ekranu-2022-10-23-o-23.20.53-440x179.png 440w\" sizes=\"auto, (max-width: 442px) 100vw, 442px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Rzeczy, kt\u00f3re mog\u0105 sprawia\u0107 problemy<\/h3>\n\n\n\n<p><strong><a href=\"https:\/\/gist.github.com\/yarogniew\/08e09415df7a7d31f4dc9fb9f6b4a1ed\" target=\"_blank\" rel=\"noopener\" title=\"\">Tu gist<\/a><\/strong> z kr\u00f3tkimi przyk\u0142adami u\u017cycia flask-a na podstawie tutorial-a: <a href=\"https:\/\/www.youtube.com\/watch?v=Js1oQoyLeig\">https:\/\/www.youtube.com\/watch?v=Js1oQoyLeig<\/a><\/p>\n\n\n\n<p>Ja doda\u0142em osobny plik <strong>index.html<\/strong>. Gist z plikiem HTML tu: <a href=\"https:\/\/gist.github.com\/yarogniew\/9092760e8908f02ed9da014023817215\" target=\"_blank\" rel=\"noopener\" title=\"\">index.html<\/a>, a tu: <a href=\"https:\/\/gist.github.com\/yarogniew\/e9237dc6ed513ee0eb8d02aa8b15a3e0\" target=\"_blank\" rel=\"noopener\" title=\"\">style.css<\/a> do projektu.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Bardzo wa\u017cne jest ustawienie katalog\u00f3w w folderze w kt\u00f3rym pracujemy. G\u0142\u00f3wny kod u mnie to <strong>run.py<\/strong> . Plik <strong>index.html<\/strong> musi znajdowa\u0107 si\u0119 w katalogu <strong>templates<\/strong>, a <strong>style.css<\/strong> ze stylami CSS musi by\u0107 w katalogu <strong>static<\/strong>. W pliku index.html odpowiednia linijka kodu w nag\u0142\u00f3wku wygl\u0105da nast\u0119puj\u0105co:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"{{ url_for('static', filename='style.css')}}\"&gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/arduino.net.pl\/wp-content\/uploads\/2022\/10\/Zrzut-ekranu-2022-10-23-o-22.27.03.png\"><img loading=\"lazy\" decoding=\"async\" width=\"252\" height=\"295\" src=\"https:\/\/arduino.net.pl\/wp-content\/uploads\/2022\/10\/Zrzut-ekranu-2022-10-23-o-22.27.03.png\" alt=\"\" class=\"wp-image-5344\"\/><\/a><figcaption class=\"wp-element-caption\">Flask &#8211; ustawienie katalog\u00f3w<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">LINKI<\/h2>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<ul class=\"wp-block-list\">\n<li>Flask documentation\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/flask.palletsprojects.com\/en\/2.2.x\/\" target=\"_blank\" rel=\"noopener\" title=\"\">https:\/\/flask.palletsprojects.com\/en\/2.2.x\/<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Aplikacje WWW (Flask):<a href=\"https:\/\/python101.readthedocs.io\/pl\/latest\/webflask\/#aplikacje-www-flask\"><\/a>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/python101.readthedocs.io\/pl\/latest\/webflask\/\">https:\/\/python101.readthedocs.io\/pl\/latest\/webflask\/<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Zbuduj stron\u0119 internetow\u0105 za pomoc\u0105 Pythona:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/ciksiti.com\/pl\/chapters\/9597-build-a-website-with-python\">https:\/\/ciksiti.com\/pl\/chapters\/9597-build-a-website-with-python<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Python Flask Tutorial &#8211; Wprowadzenie do Flask dla pocz\u0105tkuj\u0105cych \/ ca\u0142y tutorial z baz\u0105 i testami PyTest\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/myservername.com\/python-flask-tutorial-introduction-flask\">https:\/\/myservername.com\/python-flask-tutorial-introduction-flask<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">YOU TUBE<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u015awietny tutorial nieocenionego Corey-a:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/youtube.com\/playlist?list=PL-osiE80TeTs4UjLw5MM6OjgkjFeUxCYH\" target=\"_blank\" rel=\"noopener\" title=\"\">https:\/\/youtu.be\/MwZwr5Tvyxo<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Tu polski tutorial Flask\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/youtube.com\/playlist?list=PLkcy-k498-V4RDE-yJir6_MJ1oeSDSyK8\" target=\"_blank\" rel=\"noopener\" title=\"\">https:\/\/youtube.com\/playlist?list=PLkcy-k498-V4RDE-yJir6_MJ1oeSDSyK8<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Quick Flask Deployment: From Localhost to a Domain! \/ upublicznienie aplikacji webowej z pomoc\u0105 witryny https:\/\/zeet.co\/ (3 projekty darmowe, potem 299$\/mo)\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/youtu.be\/1FdrJPt77GU\">https:\/\/youtu.be\/1FdrJPt77GU<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>I built the same app 3 times | Which Python Framework is best? Django vs Flask vs FastAPI\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=3vfum74ggHE\">https:\/\/www.youtube.com\/watch?v=3vfum74ggHE<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Wdro\u017cenie (deploying) projektu flask na serwer <a href=\"https:\/\/www.pythonanywhere.com\/\" target=\"_blank\" rel=\"noopener\" title=\"\">https:\/\/www.pythonanywhere.com\/<\/a>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=5jbdkOlf4cY\" target=\"_blank\" rel=\"noopener\" title=\"\">https:\/\/www.youtube.com\/watch?v=5jbdkOlf4cY<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Flask to to lekki i elastyczny szkielet aplikacji (ang. framework), kt\u00f3ry oferuje podstawowe narz\u0119dzia do obs\u0142ugi \u017c\u0105da\u0144 HTTP, routingu, obs\u0142ugi formularzy i szablon\u00f3w. Flask nie narzuca okre\u015blonej struktury projektu, co&#8230;<\/p>\n","protected":false},"author":3,"featured_media":5354,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[65,59],"tags":[154,155,30],"class_list":["post-5338","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programowanie","category-python","tag-flask","tag-python","tag-tutorial"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/5338","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/comments?post=5338"}],"version-history":[{"count":25,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/5338\/revisions"}],"predecessor-version":[{"id":5802,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/5338\/revisions\/5802"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/media\/5354"}],"wp:attachment":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/media?parent=5338"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/categories?post=5338"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/tags?post=5338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}