Simple Web App with Flask and Heroku - Python GUI for Beginners

Поділитися
Вставка
  • Опубліковано 18 сер 2024
  • In this tutorial, I will show you how to create a Web Application with Flask!
    This video the also the first episode of The Battle of the App Frameworks, where 🤩🤩 YOU GET TO CHOOSE THE WINNER! 🤩🤩
    Today we will create a simple "Hello World" Application with Flask, which includes:
    * an HTML template containing the structure of a web page
    * a CSS stylesheet containing design instructions
    * a Python backend that communicates with a web server
    And we will also 🚀DEPLOY🚀 this application for free with Heroku! 😁
    This tutorial covers all the basics of Flask, from start to finish! (excluding Javascript interactions, which we will leave for later 😜)
    ⏰ TIME STAMPS ⏰
    00:00 - Battle of the App Frameworks
    00:25 - Flask Overview
    01:17 - Flask Directory Structure
    01:52 - HTML Structure
    06:52 - Python Backend
    09:31 - Warning: this is a development server ⛳
    09:42 - Message Flashing
    11:04 - A secret key is required
    13:38 - CSS Styling
    18:05 - CSS doesn't update - Clear Cache!
    20:14 - Procfile and Requirements
    22:42 - Deploy Flask App with Heroku
    24:43 - Thanks for watching! :)
    *********************************
    🐍 IMPORTANT NOTES/LINKS 🐍
    Install Flask 🌶
    * Anaconda: conda install -c anaconda flask
    * PyPI: pip install flask
    Install Green Unicorn 🦄
    $ pip install gunicorn
    Change Production Server to Development Server: ⛳
    $ export FLASK_APP=sayHello
    $ export FLASK_ENV=development
    $ flask run
    Complete project on Github:
    github.com/Mar...
    Link to logo from my Kivy App:
    github.com/Mar...
    Beautiful icons are by:
    www.freepik.com/
    www.flaticon.com/
  • Наука та технологія

КОМЕНТАРІ • 346

  • @robinferizi9073
    @robinferizi9073 2 роки тому +94

    Note: html and css are not programming languages they’re mark up languages, as there is nothing in html or css that makes them Turing complete

    • @PythonSimplified
      @PythonSimplified  2 роки тому +86

      Hi Robin 😊
      Don't worry, I'm definitley aware of it! After all, "markup" is the "M" of HTML! 😃
      It's just not a technicality I wanted to focus on at this point in time, especially as part of a "quick overview".
      If I use the term "markup language" to explain a different term - I also need to explain what it means and how it differs from a "programming language".
      If I were to film a video about HTML or markup languages in general - I would have probably used the technical definitions instead of an abstraction.
      But here's a caviat - the term "markup language" is not very well defined and I can make the argument that it overlaps with the definition of "programming language". There's an ongoing debate on this, you can actually find many different opinions on Stack Overflow and each of them has a valid logic behind it.
      In my opinion, markup is a subset of programming as even web pages are programs in one way or another.
      Even static pages without any JS interactions are encoded by a computer, so it does seem to fit the definition... but that's just my opinion 😉
      Anyhow, I don't see a reason to dig so deep... 😅 just refer to "markup" as an abstraction of "programming" hahahah

    • @robinferizi9073
      @robinferizi9073 2 роки тому +9

      @@PythonSimplified yeah good point, nice vid too

    • @PythonSimplified
      @PythonSimplified  2 роки тому +9

      @@robinferizi9073 thank you so much! 😃

    • @shoshanamofaz3012
      @shoshanamofaz3012 2 роки тому +1

      You may already know this but html and css make web pages look pretty while JavaScript is the engine that makes them work.

    • @robinferizi9073
      @robinferizi9073 2 роки тому +2

      @@shoshanamofaz3012 yeah I know what they do, and that’s the reason they are known as markup languages

  • @darioalb00
    @darioalb00 Рік тому +22

    Wonderful!!! I am an old developer (61 years old) trying to learn the current technologies. Already tired of volunteer tutorials that know little about teaching, I come across this one, which in just 25 minutes, conveys all the basics I need to learn. I am amazed!!! Congratulations!!!

    • @PythonSimplified
      @PythonSimplified  Рік тому +2

      Thank you so much for the awesome comment, Darío!! I have another Flask tutorial (but twice as long unfortunately 😅 haha) and it shows you how to combine a SQLite database with your app, creating a Groceries List application:
      ⭐ Flask SQLite Web Application Step by Step Tutorial - HTML, Jinja, CSS, JavaScript, Python:
      ua-cam.com/video/v3CSQkPJtAc/v-deo.html
      It's a bit more advanced than this tutorial, but it gives you some additional tools to use on your exciting new journey :)))
      If you're not yet familiar with SQLite or databases in general, I have some really nice tutorials that you may find useful:
      ⭐ SQLite Basics:
      ua-cam.com/video/Ohj-CqALrwk/v-deo.html
      ❗you'll need to add connection.commit() after each data insertion command, I've accidentally skipped it in the tutorial above 😅
      then you can practice your SQLite skills and learn how you can generate databases by automatically copying them from the web (what we call Web Scraping):
      ⭐ Web Scrape Databases with SQLite and Mechanical Soup:
      ua-cam.com/video/MkGQmZoMuRM/v-deo.html
      This one includes the connection.commit() command I've mentioned above 😉
      Best of luck and I hope it helps! :))

    • @darioalb00
      @darioalb00 Рік тому +2

      @@PythonSimplified What a frustrating!!! Much of my illusion was to see my Flask app run in the cloud. I was waiting for the weekend to have the necessary time to carry it out, and I find that Heroku is no longer free !!! Do you know any good alternative ???

  • @Soulo_Sreeni
    @Soulo_Sreeni 2 роки тому +26

    The way of explanation is phenomenal ! I feel great that UA-cam recommended it to me today 🤩

    • @PythonSimplified
      @PythonSimplified  2 роки тому +5

      Yeey! I'm so happy you liked it! 😀
      Welcome aboard! 😁

  • @mauno91
    @mauno91 2 роки тому +15

    You can force a cache refresh on a single page:
    Ctrl + F5 for Windows.
    Shift + Reload for Safari.

    • @happyjohn1656
      @happyjohn1656 2 роки тому +2

      Wow this is amazing, so awesome to know! Thanks Mauno! 🤗
      9:22 PM
      2/20/2022

    • @godkaboom
      @godkaboom 2 роки тому

      Ctrl+Shift+R is what you'll need to refresh without using cache

  • @mixschnack
    @mixschnack Рік тому

    Mariya Shanti doesn't babble on forever, but says, bang, bang, do this and that and everything works. And that's how it is. Here and there, some questions arise, which she partly answers - to my full satisfaction - and partly does not. For example, she doesn't explain how she manages to get the font file loaded and displayed on every system. On her system it works without additional effort, because the font ("Shanti") is installed on her system. On other systems the font would first have to be loaded from a website or an appropriate stored font file. All in all, this video gives a good overview of the steps necessary to develop and deploy a web app and introduces some "best practices" that are common among experienced programmers. A great video. More of it please!

  • @DevStephenW
    @DevStephenW Рік тому +2

    Just found your videos. Such a perfect tutorial. The right speed, the right amount of explanation and detail. Great stuff.

  • @MichaelSwartout
    @MichaelSwartout 2 роки тому +1

    I swear this is the first time I have every seen you on a windows pc. You are such a wonderful teacher. Who likes to play some Steam games and not just code. Oh ya!

  • @developerx962
    @developerx962 2 роки тому

    I am so happy because you are just given us the best statement "and since we have saved this file inside the appropriate template folder, flask will be able to find it with no issues"

  • @estebanglsa
    @estebanglsa Рік тому +9

    I love these videos! You really do a great job explaining. The sad part is: Heroku no longer offer free deployment 😥

  • @BogdanAnghelina
    @BogdanAnghelina Рік тому +2

    I'm now starting to learn Python through the Mimo mobile app.
    After a few chapters, I started practicing and looking for more complex projects. Your video is very explanatory and I congratulate you on that!
    Although I have a pretty solid background in HTML, CSS, and WordPress (PHP), I'm just now starting to understand Python and I think it's awesome what you can do with it.

  • @bombdiggity7196
    @bombdiggity7196 20 днів тому

    Clear and helpful as always. Thanks!

  • @ralphanthony5198
    @ralphanthony5198 10 місяців тому

    Great video, amiga! Awesome work! I definitely love all your videos!!!

  • @thomasschnitt2840
    @thomasschnitt2840 Рік тому +3

    Thanks for the video!
    A little remark: UTF-8 is not necessarily 8-bit. It is a variable-length character encoding standard using one to four one-byte (8-bit) code units.

  • @myke6972
    @myke6972 2 роки тому

    don't know anything about flask yet, but after I watched this video, I understand all of the parts discussed in the video, thanks alot!

  • @fersaol
    @fersaol Рік тому

    Thanks to you I have been able to deploy a working web app, you deserves all the best in the world. Thanks a lot!!!!!

  • @joshwabj8257
    @joshwabj8257 2 роки тому +4

    You are looking too good sis, I am your biggest fan 😊😊

  • @imoniteochie6355
    @imoniteochie6355 2 місяці тому

    i like the way you teach it makes it so easy to under stand as a beginner

  • @MyTubeAIFlaskApp
    @MyTubeAIFlaskApp Рік тому +1

    This video inspired me to learn Flask Because of you, I am here.Thank You very much.

  • @adedoyinayobami2820
    @adedoyinayobami2820 Рік тому +1

    I have a problem activating my virtual env with my windows cmd.great content enjoy your tutorial up to the virtual env moment

  • @erickanyiri3463
    @erickanyiri3463 7 місяців тому

    How am i just finding your channel now 😊
    Great stuff

  • @darcydonelle2340
    @darcydonelle2340 2 роки тому +2

    Great video! Deployed my version of the app, and it works wonderfully, as expected. Thank you!

    • @PythonSimplified
      @PythonSimplified  2 роки тому

      Yeeey!! Super happy to hear!! Thank you so much 😃

  • @gaudino110
    @gaudino110 Рік тому +1

    Great tutorial, simple but quite complete. Your speech is lovely, not too fast and perfectly understandable even for a non native English speaker like me. I'm in love with you, not gonna lie.

  • @AlexanderMaynor-tt3fx
    @AlexanderMaynor-tt3fx Рік тому +1

    You are a angelic human being and so smart! Thank you for making such amazing content and being a light for the world!

    • @PythonSimplified
      @PythonSimplified  Рік тому

      Wow, Alexander! Thank you so much for the incredible comment!! 😀😀😀
      It's a great honour to have lovely folks such as yourself supporting me on this magical journey! 😊

  • @NagasakiNightmare
    @NagasakiNightmare Рік тому

    I feel like no one is doing what you’re doing. I’m glad to have found this, because I can code in Python well enough, but I have never done anything front end outside of ncurses. (Old man, new tricks)😂
    Thank you so much!

  • @incaroads001
    @incaroads001 Рік тому

    I was just about to have my nieces watch this video. Then you greeted s-man.

  • @brendansullivan4872
    @brendansullivan4872 10 днів тому

    Flask is also great when blended with React. You can use CORS and axios for this

  • @Jelvix
    @Jelvix 2 роки тому +3

    Thank you! Flask resembles a LEGO constructor, which you can use to build whatever you want using Python libraries or Flask extensions. Python developers from Jelvix say that with Flask, you can add new modules when you need them, rather than being bombarded with details for the first time.

  • @georgelee9491
    @georgelee9491 21 день тому

    thank you so much!!!!!! i able to create my own website now!!!

  • @thebarryman
    @thebarryman Рік тому

    Best tutorial for Flask I've seen so far, thank you!

  • @Andrew-Escudero
    @Andrew-Escudero Рік тому

    You are great! Love the clarity, simplicity, and positivity in your videos. Look forward to learning more from you!

  • @cesarac666
    @cesarac666 2 роки тому

    oH my God! The only one that Run fine!! Greate Job Mariya....Thx

  • @spadezap9728
    @spadezap9728 2 роки тому

    Thanks so much! I have been looking everywhere on how to do this and this is the only video that explained it well!

  • @niklase5901
    @niklase5901 Рік тому

    Great! Just the intro i needed for this! Thanks!

  • @S0190S
    @S0190S Рік тому

    Way simpler to use Heroku than AWS. Thank you for this video! I learned Flask in my bootcamp and have been needing a simpler deployment method. Thanks again!

  • @johnwindsor5426
    @johnwindsor5426 2 роки тому

    So nice talk. it is a gread video tutor. I like it so much! Last about heroku part, it is super!😊👍👍👍

  • @bekiyerom62
    @bekiyerom62 3 місяці тому

    thanks lovely you do it in the most simplest way

  • @trtlphnx
    @trtlphnx 2 роки тому +4

    I Love Your Lessons; Very Eclectic and Cogent ~
    You Are Vastly Appreciated ~!

    • @PythonSimplified
      @PythonSimplified  2 роки тому +1

      Thank you so much for the lovely feedback, trtlphnx! 😁

  • @bazazoo2827
    @bazazoo2827 Рік тому +1

    Hello Mariya, great to see ya 8D
    I'll be waiting for the update on the DearPy GUI app, docs are not up for mass adoption yet

  • @maxwellochieng4924
    @maxwellochieng4924 2 роки тому

    You are the BEST, I found your video at a point i was learning how to deploy my ML models in Heroku

  • @netbin
    @netbin 2 роки тому

    Exploring python with Cécile’s videos becoming even more fun

  • @omarpalacios9734
    @omarpalacios9734 7 місяців тому

    Awesome video! Thank you so much. Спасибо :)

  • @MrThekid2009
    @MrThekid2009 2 роки тому +1

    Liked, Subscribed & hooked for life! Kudos!

    • @PythonSimplified
      @PythonSimplified  2 роки тому +1

      Yeeey!! Super happy to hear! Welcome aboard!! 😃😃😃

  • @She_cooks2023
    @She_cooks2023 9 місяців тому

    Great Job!!! Loved it totally

  • @narbigogul5723
    @narbigogul5723 Рік тому

    Great video, thanks for sharing!

  • @Tobs_
    @Tobs_ 2 роки тому +2

    awesome, this is something I have been keen to learn from you 👍

  • @evertonsston
    @evertonsston 8 місяців тому

    Thank you so much for this explanation!!

  • @diwakar_tsn
    @diwakar_tsn 2 роки тому +9

    your biggest fan❤️♥️🥰🇳🇵

    • @PythonSimplified
      @PythonSimplified  2 роки тому +3

      Thank you so much for the support Codingide NP! 😀

    • @alexgora7530
      @alexgora7530 2 роки тому +1

      No, the biggest I am 🤣🤣🤣

  • @Gorlung
    @Gorlung 2 роки тому

    your videos broaden my knowledge and inflame my libido

  • @dacianfd8418
    @dacianfd8418 Рік тому +1

    Nice!

  • @g.rioscairo
    @g.rioscairo 2 роки тому

    I simply loved this tutorial. First time using Flask and Heroku! And it all worked so smoothly, nice :)

  • @theronkasita4196
    @theronkasita4196 2 роки тому

    Well explained Thank you all the way from Africa Namibia

  • @mightyaripage
    @mightyaripage 2 роки тому

    Love the manbearpig reference

  • @siamahmed8287
    @siamahmed8287 2 роки тому +2

    Hello mariya. Good to see ya after a long time.

    • @PythonSimplified
      @PythonSimplified  2 роки тому +1

      Thank you Siam! It's been a while - but I'm back! 😊 (and apparently bombarding ya'll with videos as a new battle episode premieres in 2 days hahahaha 😅)

    • @siamahmed8287
      @siamahmed8287 2 роки тому +1

      @@PythonSimplified awesome. I would love to watch that. I wasn’t there while premiering. Next time I won't miss.

  • @renderartist
    @renderartist 11 місяців тому

    Incredibly helpful and fun tutorial, thank you! Building some experiments with flask that I made with ChatGPT and seeing how easy it is to take it online in a nice packaged way is great. I like that there are options for easy to deploy SQL databases in Heroku. 👍🏼

  • @TheSuperRunner
    @TheSuperRunner Рік тому

    Great tutorial! I'm trying to write a web app (with basically no web experience) for a new project of mine and this made things a lot more clear.

  • @antonvorobiev9507
    @antonvorobiev9507 2 роки тому +1

    You are wonderful!!!

  • @yakhyobekmamadaliyev6315
    @yakhyobekmamadaliyev6315 2 роки тому +1

    Sposiba Very much. ti taught me khorosho☺️☺️☺️👍👍

  • @sohrabrohani1858
    @sohrabrohani1858 2 роки тому +1

    Superb!

  • @ianpropst-campbell6028
    @ianpropst-campbell6028 Рік тому

    Thank you for this great video!

  • @saeidgholami2795
    @saeidgholami2795 2 роки тому +1

    You don't need to clear browser cache all the time. Just press which do deep refresh on the page. Deep refresh force the browser to load static files again and not use the cached version. Browser don't do deep refresh by default for the performance reason. Thanks for the video.

  • @kwamenadadson
    @kwamenadadson Рік тому

    Thanks your video saved my life today

  • @ashutoshdevgotra
    @ashutoshdevgotra 2 роки тому

    best ever tutorial, I am from india...keep making such easy and learning full projects

  • @toulasantha
    @toulasantha Рік тому

    👏👏👏 charisma factor 100%

  • @rnseby
    @rnseby 2 роки тому +1

    Thanks for the great walkthrough. Quick and straightforward.

  • @kayodeadechinan5928
    @kayodeadechinan5928 2 роки тому +1

    I really like your way of teaching! Great videos!

  • @123arskas
    @123arskas Рік тому

    Love your energy !!! Thanks for the tutorial

  • @falagerifamily
    @falagerifamily Рік тому

    So great!! Thanks🎉🎉

  • @nicosaavedra82
    @nicosaavedra82 Рік тому

    Thanks!! i did it!! so happy!

  • @Btm_vibes
    @Btm_vibes 2 роки тому +1

    No one can teach like this compared to you

  • @thomasschnitt2840
    @thomasschnitt2840 Рік тому

    Suggestion: Instead of clearing the cache, it is much faster to hard refresh the browser with Ctrl+F5. (Works on most common browsers on Windows. Different shortcut on Mac.)

  • @bicycleninja1685
    @bicycleninja1685 2 роки тому +2

    You're very talented and knowledgeable! Thanks for taking us through the steps.

    • @PythonSimplified
      @PythonSimplified  2 роки тому +1

      Thank you so much Bicycle Ninja! 😀
      I have an additional Flask tutorial if you'd like to combine your app with an SQLite database:
      ua-cam.com/video/v3CSQkPJtAc/v-deo.html
      It's a bit longer than this one, but it's also a much more useful application 😉

    • @bicycleninja1685
      @bicycleninja1685 2 роки тому

      @@PythonSimplified Will check it out! I also loved your Python graphics tutorial with the procedurally generated trees and landscape. Absolute genius! Helps grasp the concept and take it to another level.

  • @watermanli
    @watermanli 2 роки тому

    It's really beautiful, Amazing.......ly! You opened the door, in such a nice and clear way...

  • @simonmenlah1817
    @simonmenlah1817 2 роки тому

    Hey!
    I just fell in love with you and your method of teaching and can't stop learning via your channel...

  • @freezoulou
    @freezoulou 2 роки тому +2

    Well explain as always I repeat again and again thank you very much
    you help me a lot :)

    • @PythonSimplified
      @PythonSimplified  2 роки тому

      Thank you so much dexteuse freeman! I'm so happy to hear that! 😀😀😀

  • @rishecks
    @rishecks Рік тому

    by far the best tutorial ive come across!! sadly heroku is not free anymore :(

  • @biniyammengiste7413
    @biniyammengiste7413 2 роки тому

    waw, very nice. Thank you!!

  • @vigneshpadmanabhan
    @vigneshpadmanabhan 2 роки тому +3

    Thanks a lot! Such an amazing video. I have always wanted to deploy the solutions I create on the web, but never took the step, thanks to the youtube algorithm, found this video by chance and I like your teaching approach. It's simple to follow and easy to execute. Would love to see a sequel to this video.. would it be possible for us to have a MySQL or SQLite or PostgreSQL anything you would prefer, that can store the names we type? I am interested to learn more about this. A little bit about myself, I'm a data science guy and I never got a chance to do anything beyond proof of concept at work and personally was never exposed to a platform that can host an app on the web free. So this is my start. Thanks again!

  • @pllemost8410
    @pllemost8410 2 роки тому +1

    Hey, Mariya!
    My best and favorite teacher.
    What did I miss? I'm later on your today's lesson!

    • @PythonSimplified
      @PythonSimplified  2 роки тому +1

      Hi PI Lemost! 😊 great to see you!
      We were building a simple "hello world" web application with a mini Framework called Flask 😀
      Tomorrow I'm premiering another web app tutorial, but this time - a slightly more useful one (calculator) and by using Python only!
      See you tomorrow for the premiere? 😉

  • @bharathkarkera3223
    @bharathkarkera3223 2 роки тому

    explanation in best possible way.. thank you so much!!

  • @lirostin
    @lirostin 2 роки тому

    Thank you for your video! I made it )

  • @markus4394
    @markus4394 2 роки тому

    Thank you for a great tutorial. Got me to transition from making simple console apps to a real webapp!

  • @learnincredibledesign
    @learnincredibledesign Рік тому

    Love the way of teaching

  • @lenapham9377
    @lenapham9377 Рік тому

    Great teacher, wish you all the best!

  • @alexnefayne4266
    @alexnefayne4266 Рік тому

    This is a great tutorial.. Thankyou.

  • @giovannicanedoli7669
    @giovannicanedoli7669 2 роки тому +1

    This was so interesting, really a nice video!

  • @01ALPHA
    @01ALPHA 2 роки тому +4

    This was so helpful thnx!

  • @roboxito1
    @roboxito1 2 роки тому +1

    Nice to known Flash() function

  • @shoshanamofaz3012
    @shoshanamofaz3012 2 роки тому +1

    Shalom. Great to see you again. I have news. I am working for Dell Technologies now a the Haifa campus. If you care.

    • @PythonSimplified
      @PythonSimplified  2 роки тому

      That's awesome Shoshana! Congratulations on your new job! Dell is my absolute favourite when it comes to computer hardware! My laptop is an old Inspiron and my desktop is an Alienware so I'm a huge fan :DDDD
      And now I know who to reach our for discounts ;) hahahahaha
      Congrats again, kapara alaih, and have fun! :)

  • @timonserrano3198
    @timonserrano3198 2 роки тому

    Greetings from Mexico City! Got to thank you for the explanation tho

  • @jesusaunicaverdade
    @jesusaunicaverdade Рік тому

    To refresh page and caches is Ctrl + Shift + R or Crtl + alt + R (I'm not in front the pc)

  • @Blooddarkstar
    @Blooddarkstar Рік тому

    This was brilliant!

  • @HakermodOfficiel
    @HakermodOfficiel 2 роки тому

    Just what I needed. Thank you

  • @paulthomas1052
    @paulthomas1052 Рік тому

    Great work !!

  • @Mad-Ramx_Dev
    @Mad-Ramx_Dev 8 місяців тому

    Hi I love the video thank you so much for your amazing work! I was wondering how I get HTML or CSS program language or whatever is needed on sublime, so I can make sure I'm doing this right! 😇

  • @mbundesmond3696
    @mbundesmond3696 Рік тому

    Wow great explanation, thumbs up ☺️❤️

  • @pauloalmeida3728
    @pauloalmeida3728 2 роки тому

    Yep the app is still online. Thanks 😎

  • @taylortoast2
    @taylortoast2 Рік тому

    @PythonSimplified which part of this app utilizes JavaScript? Thank you for your content.

  • @roshanikumbharkar6266
    @roshanikumbharkar6266 Рік тому

    thank you so much dude you're a god

  • @nathanaelmehari1909
    @nathanaelmehari1909 Рік тому

    Thank you very much i enjoyed the course because you try to make it fun as possible

  • @DanielŚmigiela
    @DanielŚmigiela 2 роки тому

    You're amazing! I love you so much :D