Python Website Full Tutorial - Flask, Authentication, Databases & More

Поділитися
Вставка
  • Опубліковано 6 чер 2024
  • In this video, I'm going to be showing you how to make a website with Python, covering Flask, authentication, databases, and more. The goal of this video is to give you what you need to make a finished product that you can tweak, and turn into anything you like. We're going to also go over how you create a new user's account, how you store those in a database, how to log into those user accounts, how to log out of them, and how you associate that information with a specific user.
    🔥 Sign up for a FREE TypingDNA Developer Account! www.typingdna.com/clients/signup.
    Try the TypingDNA Demo: www.typingdna.com/#demo
    📝 Code for this tutorial: github.com/techwithtim/Flask-...
    📺 Fix Pip on Windows: • How to Install Pygame ...
    📺 Fix Pip on Mac: • How to Install Pygame ...
    ⭐️ Timestamps ⭐️
    00:00:00 | Video Overview
    00:01:50 | Project Demo
    00:04:35 | Directory Structure
    00:06:40 | Flask Setup & Installation
    00:08:55 | Creating a Flask App
    00:14:01 | Creating Routes/Views
    00:21:50 | Jinja Templating Language & HTML Templates
    00:47:22 | Sign Up Page HTML
    00:52:14 | Login Page HTML
    00:54:31 | HTTP Requests (POST, GET, etc.)
    00:57:05 | Handling POST Requests
    01:03:14 | Message Flashing
    01:12:42 | Flask SQLAlchemy Setup
    01:15:46 | Database Models
    01:23:42 | Foreign Key Relationships
    01:29:10 | Database Creation
    01:34:14 | Creating New User Accounts
    01:43:16 | Logging In Users
    01:49:17 | Flask Login Module
    01:56:03 | Checking if User is Logged In
    01:58:54 | Notes HTML
    02:02:41 | Adding User Notes
    02:05:48 | Deleting User Notes
    ◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️
    💰 Courses & Merch 💰
    💻 The Fundamentals of Programming w/ Python: tech-with-tim.teachable.com/p...
    👕 Merchandise: teespring.com/stores/tech-wit...
    🔗 Social Medias 🔗
    📸 Instagram: / tech_with_tim
    📱 Twitter: / techwithtimm
    ⭐ Discord: / discord
    📝 LinkedIn: / tim-ruscica-82631b179
    🌎 Website: techwithtim.net
    📂 GitHub: github.com/techwithtim
    🔊 Podcast: anchor.fm/tech-with-tim
    🎬 My UA-cam Gear 🎬
    🎥 Main Camera (EOS Canon 90D): amzn.to/3cY23y9
    🎥 Secondary Camera (Panasonic Lumix G7): amzn.to/3fl2iEV
    📹 Main Lens (EFS 24mm f/2.8): amzn.to/2Yuol5r
    🕹 Tripod: amzn.to/3hpSprv
    🎤 Main Microphone (Rode NT1): amzn.to/2HrZxXc
    🎤 Secondary Microphone (Synco Wireless Lapel System): amzn.to/3e07Swl
    🎤 Third Microphone (Rode NTG4+): amzn.to/3oi0v8Z
    ☀️ Lights: amzn.to/2ApeiXr
    ⌨ Keyboard (Daskeyboard 4Q): amzn.to/2YpN5vm
    🖱 Mouse (Logitech MX Master): amzn.to/2HsmRDN
    📸 Webcam (Logitech 1080p Pro): amzn.to/2B2IXcQ
    📢 Speaker (Beats Pill): amzn.to/2XYc5ef
    🎧 Headphones (Bose Quiet Comfort 35): amzn.to/2MWbl3e
    🌞 Lamp (BenQ E-reading Lamp): amzn.to/3e0UCr8
    🌞 Secondary Lamp (BenQ Screenbar Plus): amzn.to/30Dtafi
    💻 Monitor (BenQ EX2780Q): amzn.to/2HsmUPZ
    💻 Monitor (LG Ultrawide 34WN750): amzn.to/3dSD7tS
    🎙 Mic Boom Arm (Rode PSA 1): amzn.to/30EZw9m
    🎚 Audio Interface (Focusrite Scarlet 4i4): amzn.to/2TjXsih
    💸 Donations 💸
    💵 One-Time Donations: www.paypal.com/donate?hosted_...
    💰 Patreon: / techwithtim
    ◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️
    ⭐️ Tags ⭐️
    - Build a website
    - Python tutorial
    - Flask
    - Learn Python
    - How to use Python
    - HTTP requests
    - HTML Python
    - User accounts Python
    ⭐️ Hashtags ⭐️
    #PythonWebsite #TechWithTim

КОМЕНТАРІ • 2,4 тис.

  • @TechWithTim
    @TechWithTim  Рік тому +51

    Start a high paying tech career making $60k+/year with NO DEBT: coursecareers.com/a/techwithtim?course=software-dev-fundamentals

  • @iamnexom
    @iamnexom 2 роки тому +66

    I wasted thousands of dollars in college and learned nothing compared to what i learned here in this channel for free. You guys are amazing . You people deserve a noble prize for what you are doing here.

    • @barmalini
      @barmalini Місяць тому +4

      well, you could also learn something while in college, and not waste that much money

    • @OikPoinFive
      @OikPoinFive 9 днів тому

      @@barmalini yeah so true

    • @OikPoinFive
      @OikPoinFive 9 днів тому +1

      u didnt listen there then. ya hear? just kidding....

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

    I have watch countless web tutorial on so many different topics, and this is the best one so far. Details and pace were perfect.

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

    Been stressing over a uni project for the past two months and came across this video, I literally want to cry. Thank you soooooooooooooo much!

  • @brimmae1354
    @brimmae1354 Рік тому +4

    Thank you for making this! It was very simple to follow, and I love that I went from knowing nothing about flask to having a functioning website (also thank you for posting the code in the description, that was also very helpful). This was exactly what I was looking for!

  • @sighera
    @sighera 2 роки тому +811

    Tim... We can't thank you enough for this tutorial! I can't put it in words how much this tutorial helped me to finally start progressing with Python programming! I know, for you this is simple, however, for beginners like me, this tutorial is like finding a bag of gold. Thank you!

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

      Hey bro can you tell me one thing, what's back-end and front-end Language in this project.
      Please answer me🥺

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

      Speak for yourself

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

      @@asadraza6146 no no no no noi!!!!

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

      How to connect with sql server

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

      @@armygstan9541 did you find the answer to your question bro?

  • @oldmankatan7383
    @oldmankatan7383 2 роки тому +387

    Please, don't apologize for a long video when it is fast paced and full of good stuff like this!
    Flask can be a little inscrutable sometimes, and I really appreciate that this tutorial went from zero to functional in one go. Bravo!

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

      lol

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

      So true like Tim istg why are you apologizing?😭😭 Ur the one giving us gr8 content the longer just means you did more effort explaining it which we love obviously 😭

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

      I cant HEAR yOU>>!! OH...HELL>>>>YEAHHH

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

      Bro can u help me out it's showing import error

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

      @@preattogaming1533 I'd have to see the error, but import errors are usually because you haven't installed the module you are trying to import. "Pip install" the module first!

  • @anshchaurasia8460
    @anshchaurasia8460 8 місяців тому +10

    I won't lie, this is the most worth video on UA-cam that I have ever seen in my entire lifetime! Your videos are the best, without doubt. Thank you for helping everyone by making everything simpler than all the other teachers on UA-cam.

  • @blueaxon
    @blueaxon Рік тому +5

    This is the best instructional video for programming I have ever seen! Also, if the small errors were deliberate (as I suspect), this makes it all the more effective as it shows troubleshooting as well.. Absolutely fantastic !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @kenmurphy4259
    @kenmurphy4259 2 роки тому +116

    This young man is an incredible tutor. He explains the concepts so clearly. Top notch, thanks Tim!

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

      "This young is incredible" "WOW" WHAT lS That?????Is(is) vs ls(Ls)

  • @Y_N0t
    @Y_N0t 3 роки тому +28

    I love that you leave in typos and errors because I usually try to correct them myself to make sure that I'm understanding well.
    It's also nice to have all those modules to look into. it saves up the time of searching everywhere for interesting modules and plugins (so you get more time to practice them !)
    Also, the additional stuff like the version import methods are super interesting.
    Now I want to redo it myself and create my portfolio website for my programming projects. Thanks man I'm learning programming on the side with a full time job, your videos make it fun and practical.

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

      Have you been able to get a new job yet? I'm in the same boat

  • @fraan0602
    @fraan0602 Рік тому +16

    Amazing tutorial! I had some experience with sql server and power bi, and web dev but not together. Super easy to follow!

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

    +1 for all the praise. It seems like every single guide I found on how to get started with Flask and any kind of web site integration for Python was all "buy this app" or "use our service" or totally glossed over critical starting point info so you had to already know how to set everything up and they just showed you some code afterward with no explanation of what parts of their starting point mattered and what didn't. As someone learning this on my own rather than through formal sources this was extremely helpful.
    I'll definitely be coming back to watch a lot more of your content as time permits.

  • @nickyfranshel1210
    @nickyfranshel1210 3 роки тому +16

    For the first time in a while, I found a video tutorial thats genuinely interesting :D

  • @MccoyHayden
    @MccoyHayden 3 роки тому +31

    This is the video I've been trying to find!!! SO EXCITED TO GET OFF WORK AND DO THIS ENTIRE VIDEO

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

    Tim, yesterday i had to kickstart a flask project for a new project at my job and your video is the best option i could find on youtube.
    Thanks for explaining everything so easily and with such clarity.
    You deserve every new subscription you get, i hope you keep creating new content.

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

    This is one of best tutorials I've used. The way you not only gave the code but explained most of it in way that was easy to understand. Thank you!

  • @sena1663
    @sena1663 2 роки тому +53

    I was doing a project and I was frustrated and scared because I was sure I could not do it. But following this tutorial gave me confidence and I finally did it! It was so helpful and easy to follow. Thank you so much Tim!!

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

      ur welcome, sena

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

      @@NachoManBoy4 John Sena

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

      @@LotOFfactories hi John Seenah you’re my next gf

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

    This tutorial is amazing. I've done it beginning to end 4 times so far and each time I understand a little more about what's going on.

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

      bro i ran the whole thing yesterday and it was working all good but today when i tried to run it has all sorts of errors and my envn has been set to production return self.wsgi_app(environ, start_response) this types of errors occured could you help

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

    Amazing!! Fast, straight to the point, and comprehensive.
    Very well done. Subscribed!!!

  • @stevemorse5052
    @stevemorse5052 2 роки тому +116

    To those of you that have just landed on this video.
    This is one of the best videos I have ever watched.
    For me, it covered everything I wanted to learn in one simple to understand package.
    Thank you Tim.

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

      im still not past the changing interpreters part. no matter which interpreter i choose i still keep getting the module error not found. i have been stuck on this for 4 days with no where to turn and no question being answered or any answer of help.

    • @LG-ut3hw
      @LG-ut3hw Рік тому

      can u help me?
      Min 28:13 he said to copy the thing
      I didn't know from where bc my English isn't good can u help me?

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

      @@LG-ut3hw check the description for the code used in the tutorial

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

      @@louisgalluzzo9284 +1

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

      @@louisgalluzzo9284 Stuck on the same issue did you find a solution yet?

  • @davialbuquerque4964
    @davialbuquerque4964 3 роки тому +15

    Your tutorials are the best, Tim! Thanks a lot for sharing your knowledge! It's really helpful!

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

    Best tutorial. I'm a long time developer in java and I'm familiar with client/server development but recently I started to learn Python together with my kid. This tutorial is perfect. It deserves all the views it has and more.

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

    Brilliant. I was about to be a chump and purchase a course online. However, this is better than most and for the amazing cost of free on UA-cam. Thanks a million times over and never change. You rule!

  • @mantidream8179
    @mantidream8179 3 роки тому +37

    Superb quality tutorial. This answered a lot of long-standing questions I had.

  • @ahmedyousif4782
    @ahmedyousif4782 3 роки тому +1159

    No algoexpert, i don't what to become a software engineer at google.

  • @nathaliasouz.a
    @nathaliasouz.a Рік тому

    Tim, I really appreciate your efforts to make this tutorial! As soon as I can, I'll retribute this gratefulness by being a member!

  • @msrusu
    @msrusu 10 місяців тому +15

    You deserve a Nobel prize in virtual teaching, never seen a comprehensive guide as you done..easy to learn, explaining in detail... 🎉

    • @TechWithTim
      @TechWithTim  10 місяців тому +4

      Wow, thank you!

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

      @@TechWithTim When I download VS 2022, it looks different and I can't make different folders within a project- what should I do?

    • @gerardonavarro3400
      @gerardonavarro3400 Місяць тому

      ​@@SmurphofChaosdownload vs code not vs

    • @SmurphofChaos
      @SmurphofChaos 29 днів тому

      @@gerardonavarro3400 tysm lol. Been stuck using Python IDLE this whole time lmao

  • @haythembenhlima4158
    @haythembenhlima4158 3 роки тому +5

    I have enormous gratitude towards you Tim, thank you for your effort !

  • @luis96xd
    @luis96xd 3 роки тому +6

    Excellent video! 😄😄
    This project is so nice to begin with Flask and Python for web
    - User authorization and authentication
    - Databases
    - Creating servers with Flask
    - Using variables, loops, if sentences
    - Using HTML templates
    Thank you so much! 😄👍

  • @Dante-yu8ss
    @Dante-yu8ss Рік тому +1

    I can't think of anyone who I'd rather listen to for more than two hours straight, explaining code to me lol, I love this. very pleasant voice and character, very well done. Thank you so much!

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

      I had a question... do I need to be really well versed with python to go on with this video?

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

    Thank you very much for this video! I learnt a lot with it.
    You shouldn't apologize for making a long video, since every minute was good and full of information and straight to the point.

  • @krishnajoshi4511
    @krishnajoshi4511 3 роки тому +5

    🔥Hey Tim, needed this one. I just wanted to use databases for my website but none were clear. Nailed it bro🔥🔥🔥. Thanks

  • @fabrizzioorderique2343
    @fabrizzioorderique2343 3 роки тому +5

    this tutorial is exactly what I have been looking for. Thank you so much!

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

    I really like that you keep your mistakes in the video, even the 'simple' things like relative importing. It definitely humanises you and makes you more relatable. It's a nice reminder that coding is hard and we're not doing simple things here.

    • @LG-ut3hw
      @LG-ut3hw Рік тому

      can u help me?
      Min 28:13 he said to copy the thing
      I didn't know from where bc my English isn't good can u help me?

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

      What he meant was that you should copy it from his code base from Github.
      The link to get to his Github is below this video.

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

    just want to mention, is very important to structure the project in the exact same way he has his folder (i got trouble because of that). Dude your explanation and tutorial is just amazing, thnx great way to introduce us in web dev with python and flask

  • @shiblyaziz4528
    @shiblyaziz4528 Рік тому +8

    Amazing tutorial!. This is the best instructional video for programming I have ever seen!

  • @UltraProbe
    @UltraProbe 3 роки тому +161

    I finished my other Python project and thought of exactly this. Tim never disappoints.

    • @yomama1938j
      @yomama1938j 3 роки тому +5

      Hell ya

    • @Eric-dd8bk
      @Eric-dd8bk 3 роки тому +1

      Can I ask you what your project was.
      Just looking for a nice but not too hard project to practice.
      Thank you.

    • @UltraProbe
      @UltraProbe 3 роки тому +1

      @@Eric-dd8bk Was thinking of making a personal website (about my programming projects). Ended up starting it in Golang as I didn't need databases and login stuff, but still great video.

    • @pratiksanganii
      @pratiksanganii 3 роки тому +1

      do you know theme is in his vs code?

    • @tech-gyan-web
      @tech-gyan-web Рік тому

      can you send me the full code(zip) of the project? please

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

    Hey Tim! Hope you're doing well! I have left a comment on this video showing my thankfulness for this tutorial. You helped me make my first website ever and I can't thank you enough for that. Along with this - your pacing was great. I felt I could follow along, and you weren't going too slow at all. Your explanations were also decent, and I understood what was going on. Lastly, I'd like to thank you for providing all the code in the description and updating it when the updated SQLALCHEMY came out. Please continue content creating!

  • @heitorreis4051
    @heitorreis4051 Місяць тому

    This video changed my life! Everything I needed right now was someone that carefully explained how to create a python-based website and you helped a lot. I recommend to people that are watching the video for the first time to open the git code because on the comments there are a lot of tips and updates of parts that are deprecated. Anyway, helped a lot, you spoke clearly and was straight to the point, explaining what was needed and the basic concepts surrounding. I could even replicate with similar purposes and hope to expand even further now. Really appreciate the video.

  • @noone-dc4uh
    @noone-dc4uh 2 роки тому +4

    This is pure gold... 🤗🤗🤗🤗 Thank you very much Tim for this tutorial. It's a life saver 😅😅

  • @noobtester1933
    @noobtester1933 2 роки тому +90

    1:33:40 in the video when he's having the import problem, I think what he meant to say or do was:
    from . import models
    because that's what I did, for everyone else using this blueprint to add more classes other than user and notes. Also if you're having the missing module SQL alchemy and/or flask login just go to your terminal and install both modules. I ran into those errors even though I installed flask it didn't come with everything so to make it clear in your terminal type:
    pip install -U Flask-Login
    and/or
    pip install Flask-SQL-Alchemy
    Then everything should work fine. Also to add on at the 1:54:39 section when you are in the __init__.py and you're doing the whole login_manager.user_loader part. If you used the from. import models to optimize your code, you'll get an error cause User isn't defined with the code written in the video. You have to tell the computer User is from the models module like this.
    @login_manager.user_loader
    def load_user(id):
    return models.User.query.get(int(id))
    not
    @login_manager.user_loader
    def load_user(id):
    return User.query.get(int(id))
    like in the video. Just so you know. Hope this helps someone.

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

      thanks

    • @philosophe2517
      @philosophe2517 Рік тому +7

      db = SQLAlchemy()
      def create_app():
      app = Flask(__name__)
      app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///project.db"
      db.init_app(app)
      from . import models
      with app.app_context():
      db.create_all()
      return app
      # There is no need for that create_database function. SQLAlchemy will already not overwrite an existing file, and the only time the database wouldn't be created is if it raised an error.

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

      @@philosophe2517 with that , return User.query.get(int(id)) won't work , the user won't be defined

    • @VaibhavKumarMishra-hr5uv
      @VaibhavKumarMishra-hr5uv Рік тому

      This really helped me in both the timestamps you mentioned ! Thanks a lot !

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

      f

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

    I have done frontend many times with HTML CSS and JavaScript, but it's my first time in backend programming
    the video was a good video and I really appreciate your handwork
    it was great feeling after finishing this project

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

    Great video Tim. As someone else commented, your pace and explanations of things are spot on. I hate watching videos where the person who is trying to teach something is clearly a beginner with it as well (and you most certainly are not that!).
    I honestly think it's just nice seeing someone else's workflow sometimes. The emphasis on proper project structure at the start with nice concise package names is exactly what beginners need to learn, and I wish there were more tutorials that followed suite.

  • @kisszoltan1477
    @kisszoltan1477 3 роки тому +3

    Hey Tim!
    Thanks for this awsome video, I learned a lot from you !
    Keep up the good work and I wish you all the best !
    Thanks again :)

  • @ahmedabdelkader5627
    @ahmedabdelkader5627 3 роки тому +21

    Awesome stuff Tim!
    covers everything I typically need in Flask within a nice project.
    Also for the sake of simplicity, I like to flash the messages with categories equal to danger/success to match the bootstrap alert classes and the in the Jinja template, I show both types of messages in one loop like this
    {% with messages = get_flashed_messages(with_categories=true) %}
    {% if messages %}
    {% for category, message in messages %}
    {{ message }}
    ×

    {% endfor %}
    {% endif %}
    {% endwith %}

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

    I just watched and coded simultaneously with Tim... The only thing I couldnt manage to learn "What" Bracketss!? Keep up bro Im coding with you for 2 years now.

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

    Tim, just came here searching for some Flask example, and your masterclass was just awesome, thank you so much! I've subscribed to your channel and will check for more great content. Thank you again! Cheers from Argentina!

  • @waffleman9178
    @waffleman9178 2 роки тому +31

    I got to say that as a beginner with 3 days learning python, I can't understand most of the the code you did but you gave me courage to continue what I'm doing

    • @AhoyCapnLinux
      @AhoyCapnLinux 2 роки тому +13

      Python, like all skills, takes a lot of time. Stick with it, and remember that no programmer knows it all. You can build some of the most complex systems on earth, but you'll still need Google from time to time. Good luck!

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

      @@AhoyCapnLinux thanks for this reply, but as for now I was building a calculator with tkinter. And your reply thought me that it really takes more time and practice. I never knew that people like you have interest to help me. Thanks men

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

      @@waffleman9178 It's going to be quite the journey moving ahead, be sure not to lose faith and remember to always have fun! Happy coding!

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

      @@justinwong833 aww.. thanks. I'm so amazed people spend their time replying on this comment just to help me and others.

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

      @@waffleman9178 I hope you'd pay it forward in the future by helping other newer coders! Happy to see a new member join our community

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

    So I actually decided to stop procrastinating, and you don't know how much you made me remember what I loved from python. Thank you so much, Tim

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

    great video great pace - totally perfectly timed for those who understand every word you where saying, just not how to program this environment. Huge Thanks

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

    One of the best tutorials I have found till now. Covered the important concepts and explained them very well. Thank you so much! :)

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

    What an excellent tutorial. As I advance through it I start to realize how great and easy-to-understand it is! I highly appreciate the efforts you put into making this tutorial, dear Tim!!! :)

    • @LG-ut3hw
      @LG-ut3hw Рік тому

      can u help me?
      Min 28:13 he said to copy the thing
      I didn't know from where bc my English isn't good can u help me?

  • @Alex-3XL
    @Alex-3XL 3 роки тому +5

    For earlier versions of Python (before 3.6): note = json.loads(request.data.decode('utf-8')) instead of note = json.loads(request.data)

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

      I was wondering why the deleted section wasn't working

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

    this video taught me more about implementing databases within a website than an entire masters degree that i already earned. thank you so much!!!

  • @i.alegre9401
    @i.alegre9401 2 місяці тому

    Excellent tutorial Tim. I watched many others on Flask and got no clue. After watching yours, just realised Flask is around 90% of what I already knew on front-end coding with PHP

  • @andymonk4684
    @andymonk4684 3 роки тому +46

    Great tutorial. In the Python community "underscore underscore" is called "dunder". Just a thing to ease your tongue.

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

      Double Underscore -> Dunder

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

    I'm trying to build a flask crud website currently and I'm strugling heavily with the one to many relationship in my database. I reaalllyy hope this video will cover it but judging from the 5 minutes I've seen so far I can tell even if my specific issue isn't covered there's going to be a lot for me to learn from watching you.

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

    We need more people like you! Thanks for making such a nice course with follow along😁

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

    Amazing job Tim.
    I would suggest you to extend this and create more tutorials using this authentication

  • @ellawhitestone
    @ellawhitestone 3 роки тому +3

    When you look at the presentation and expression, you are the best for me

  • @kennethnzioka2904
    @kennethnzioka2904 2 роки тому +7

    I'm very grateful for the effort you've put in here. It has really helped me understand python and flask better. I appreciate it.

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

      You're very welcome!

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

      @@TechWithTim at 37:37
      why is my text color blue?

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

      @@Bern9917 same problem, have you fixed that?

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

      probably missing or a typo in the nav attributes/arguments, if you have navbar-dark then the text shouldnt be blue @@Bern9917 like in this tutorial

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

    this is my first time with python, and I'm amazed at how more straightforward it is than c++

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

    What an excellent tutorial. Appreciate the efforts you put into making this tutorial, dear Tim!!! :)

  • @AshutoshJatkar
    @AshutoshJatkar 9 місяців тому +26

    Really helpful Tim! The only part I would like you to update about is that the 'db.create_all(app=app)' method is obsolete in the latest version of flask-sqlalchemy. Instead we now need to us a 'with app.app_context():' to use 'db.create_all()'. Also in my PC, the new database is created in a new folder called 'instance' by default using the same code as yours. It would be great if you could explain why that happens.

    • @asethipro4952
      @asethipro4952 9 місяців тому +4

      THANK YOU SOO MUCH THIS IS EXACTLY WHAT I NEEDED :)

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

      @@asethipro4952 You are welcome!

    • @sheriffOladimeji-xn2so
      @sheriffOladimeji-xn2so 7 місяців тому

      I used with app.app_context():
      db.create_all(), but i'm still getting some errors, when I removed it I didn't get any errors

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

      @@sheriffOladimeji-xn2so that's what happened to me aswell lmao

    • @log8746
      @log8746 4 місяці тому +8

      Hi, this might be a bit late, but if you want your db file to be placed on the website folder, you need to specify the full path in the SQL_ALCHEMY_URL configuration.
      app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{path.join(app.root_path, DB_NAME)}'

  • @mattng5389
    @mattng5389 Рік тому +30

    Just a small note, SQLalchemy no longer accepts 'app' in create_db(), but the code has been simplified and no longer requires a function to complete the same task. Cheers!

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

      I was in these muddy waters for the past half an hour while watching corey's old videos, man. Figured out it must be because the libraries got updated but couldn't manage to find a way since. Would love it if you elaborate!

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

      @@metalskull8687 I've been confused about the same thing, and I can't give you a good explanation of how to solve this but if you uninstall flask-sql alchemy and reinstall it as the older version, flask-sqlalchemy==2.5.1 it should work. Hope this helps.

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

      @@charlieguthmann2531 It seems there's no other way around other than this. Thank you very much, it helped!

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

      bro i am not able to use
      create_all() function..

    • @mattng5389
      @mattng5389 Рік тому +6

      @@hudsong2844 you can comment out the entire create_app lines and instead use
      with app.app_context():
      db.create_all()

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

    I don't understand why most youtubers seem to focus on front end. I think backend is so much more useful! Thanks for this Tim

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

    Dude this is an incredible tutorial thank u so much. I'm working on a group project and this helped me feel so much more confident in my understanding of all this, your'e a great teacher

  • @evke
    @evke 3 роки тому +3

    flask in 2 hours dude its amazing

  • @manoramapatra8091
    @manoramapatra8091 3 роки тому +13

    Okay now this is very exciting for me.....

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

    This tutorial is great man!! Thank you! It left me with a very usable framework that I was able to develop our UI with.

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

    First time I sit and watch such a long video and still I hoped it would last more...
    Congrats Tim! And thx

  • @michaelerdstein5787
    @michaelerdstein5787 2 роки тому +6

    23:00 I think If you are using VScode you can just write "!" at the beginning of the HTML file and a drop-down menu pops up and you can choose one of the items so VScode can auto-complete the framework for the HTML source code.
    I might be wrong though as I haven't really used VScode for a bit.

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

      Yep this works in VSCode can confirm.

  • @rayankazi6029
    @rayankazi6029 3 роки тому +5

    I was learning flask and i saw this notification
    It was like a gift from the above

    • @user-sh7lw6nl2g
      @user-sh7lw6nl2g 3 роки тому

      It's called Machine Learning.
      Google knows what we want.

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

    i followed your tutorial, and running this web server on a arm based cpu media box, running openwrt os, everything works perfectly

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

    Excellent job, went thru the whole thing, no flaws... only had to paste the warnings from bootstrap 5 doc, but everything else worked. Thank you

  • @benjaminaboagye9846
    @benjaminaboagye9846 3 роки тому +3

    I have procrastinated for too long. Now I am gonna learn and master flask like crazy

  • @Falcon8856
    @Falcon8856 6 місяців тому +5

    Just to let other viewers know, the jenga scripts are now outdated and the code will not work anymore. Check the documentation for updated scripts that work. Other than that, great video!

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

    Thank you Tim for this owesome tutorial to start with my first Python app. Video is lengthy but it totally suffices the purpose for beginner to start with Python. Really thank you for this.

  • @therollingambit5222
    @therollingambit5222 3 роки тому +6

    Thanks for this Tim! Can I request a simple tutorial on flask+react? :)

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

    I have watched a lot of tutorials about it, and this is the best one so far. Congrats!😁

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

    This is THE best Flask Tutorial on UA-cam. Thanks Tim!

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

    Great tutorial. Thank you! Why did you choose to delete note with javascript instead of python? I went with delete button as form with action="/delete-note/{{note.id}}" and seemed easier that way.

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

    this is the best tutorial about python web developing so far i've ever seen, thank you !

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

    Firstly, I was amazed by the API of the sponsor, not usually watch those but I'll definitely try to view them more often in your videos. Secondly, the video is awesome and resourceful, keep up :)

  • @hmm5170
    @hmm5170 3 роки тому +34

    Video idea : When to learn your next programming language?

  • @bluekeybo
    @bluekeybo 2 роки тому +7

    Wow! Amazing video! Thank you so much! One quick typo at 1:07:43, it should say "alert-dismissable". Also, is there a much simpler way to add the delete note option? I got a bit lost with all the custom JS just for that simple function. Thank you again!

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

    i can't thank u enough for this,i was struggling for building the backend for my webpage for the mini project in college.Because of u i was able to complete the login page and signup,now i just have to link the url for previously build front end ,tysm

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

    Excelente tutorial Tim, aunque no te entendía casi nada en tu idioma, pero Python es un lenguaje mundial, logre hacer tus ejercicios, espero que sigas con estos tutoriales en Flask. un saludo desde Chile.

  • @anonymousperson7014
    @anonymousperson7014 3 роки тому +34

    Tim I'm making a chat feature in my website. How do you add chat history based on the chat rooms? Could you please make a tutorial on that? Not many people make very reliable tutorials on chat apps and chat history for specific rooms. I have searched all over the web.

    • @pratiksanganii
      @pratiksanganii 3 роки тому

      do you know theme is in his vs code?

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

      @@pratiksanganii the name is: Identical Sublime Text Monokai theme

    • @Rikaisan
      @Rikaisan 2 роки тому +28

      Doesn't sound hard, but your request is too specific, when you are trying to search how to resolve a problem like this, you need to divide the problem into sub-problems more:
      How are your chat rooms structured?
      With the structure you have right now, can you make this happen or do you need to modify it?
      So, for example, what is a chat history? it's basically a server-stored piece of text, nothing else.
      So if you are sending the messages from client to client, you'll need to first make that message go through a function that appends each message to the end of a string or file, now, how you structure the way to save the messages is up to you too: plain text or some sort of data structure so you have access to the user's id, msg, hour that it was sent, etc
      Start implementing the feature by resolving the now smaller problems (passing each message through a function, having where to save it, formatting it to your liking before saving, reading the chat history, etc) and when you get stuck, it will probably be something more general:
      Not "How to read a chat history from a database"
      But "How to get a field's content from a database"
      Or Not "How to make a function that saves chat messages into a file"
      But "How to append data to the end of a file"

    • @jgabt
      @jgabt 2 роки тому +12

      Here’s the easy, lazy way
      1. Look up how to make chat rooms using flask
      2. Click the first result
      3. Select the code
      4. Ctrl+C then Ctrl+V on ur code editor.
      5. Recompile and voila!

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

      @@jgabt 😂😂😂

  • @ayaanp
    @ayaanp 3 роки тому +4

    I was getting into backend web dev in Python, and then you uploaded this :D

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

    The first tutorial I haven't left halfway. Yes, I've made a note taking app in flask ✌

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

    Yeah Tim, good stuff here! Thanks for all the effort you put in!!!!

  • @subodhmishra6377
    @subodhmishra6377 3 роки тому +20

    I got a job in google only because of him, he is my teacher

  • @Aelitaa4
    @Aelitaa4 3 роки тому +109

    Me: sees your old Flask tutorials
    Also me: hmm, looks interesting, I'll give it a try
    A few hours later: this video appears
    Me: BRO WTF

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

    Thank you so much! The way you spend your time to help us is inspiring!

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

    Best flask tutorial! Literally all I need for start in one video!

  • @e4lstaff753
    @e4lstaff753 3 роки тому +3

    Hello Tim
    I enjoyed your video
    Pls can you make a video on how to create the same login and sign-up system with Django

  • @huzmasood
    @huzmasood 10 місяців тому +9

    A little correction in the __init__.py's last function:
    def create_database(app):
    with app.app_context():
    if not path.exists('instance/' + DB_NAME):
    db.create_all()
    print('Created Database!')

    • @MrCrunsh
      @MrCrunsh 10 місяців тому +1

      Thank you. I currently stuck at this point! 😀

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

      thanks brother

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

      @user-xb3rl5bv7c that is correct, but additionally change the path from 'website/' to 'instance/'. db seems to be automatically created at a different location

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

      @@renebrogatzki4645 yeah i thought that instance thing was only with me but guess that's how it's happening now. i have edited the comment now

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

    Great Tutorial packed with very useful information - Thanks a million Tim🙂