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.
@@pakalupapito3202I’ve yet to see a stat confirming that claim. That’s more of a bygone assertion, of a time long ago. Certificates are cheaper and seem to work just as much.
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!
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 😭
@@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!
I won't lie, this is the most worth video on RUclips 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 RUclips.
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!
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.
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.
This is honestly such a comprehensive tutorial, Tim! Major props. The explanation is clear and concise, and you provide clear reasoning for even the smaller steps that others usually ignore. Thanks a bunch for this tutorial.
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!!
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
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!
@@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
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.
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!
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.
For those how come to the comment session with create_all() to create database error 1:33:45. As per the new version, this is the fix: def create_database(app): if not path.exists('website/'+ DB_NAME): with app.app_context(): db.create_all() print("Created Database!") Thanks for the video. @TechWithTim
Thanks man! I too got the same error and applied this same piece of code to debug it. But I ran into another error while creating users for the signup page. I did exactly what he did, but the error says ValueError: Invalid hash method 'sha256'.
@@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.
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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
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.
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.
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
NOTE at 1:31:00 there is no neeed for the create_databse function. SQLAlchemny will already not overwrite existing files and the only time the db wouldnt be created is if there is an error. To fix the code use with app.app_context(): db.create_all() The whole app=app thing will certainly throw an error
Must be an update cuz I had the same issue, couldn't figure out why it worked for Tim, then saw this vid is 3 years old and I found the solution you posted in his code on his site so maybe he updated the code on the github but the vid is outdated.
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
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.
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)}'
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 RUclips. Thanks a million times over and never change. You rule!
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.
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!
+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.
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! 😄👍
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!
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!
@@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.
If you are using the latest version of python and flask as of 9/1/24 you could encounter an error with sha256 not being recognized in the sign up function. replace sha256 with 'pbkdf2:sha256' and it should work
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
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.
I created my first app with your instructions.. Very clear precise and perfect. I followed along very well. Thanks man.. Even at 2yr old its still relevant i think..
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 }} ×
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.
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
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
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!
Btw if you're having problems with the "generate_password_hash()" function, idk since when but they changed the sha256 method to "scrypt". It's the same just with a different name. :)
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 :)
Thank you! I'm starting my passion project and even though I took some python courses, I never understood well how to create sites or apps! Thanks, again.
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.
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"
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!
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!
I wrote the code myself step by step along with the video and it worked and i don't think it's outdated or deprecated(if you're talking about jinja in general) tho it needs minor changes other than that it'll do the job
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!!! :)
Great video! Consice yet precise. One note here for those who want to take this project to the next level: You may use WTForms for flask to create forms more elegantly. It will also help you to modulerize you app.
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.
I'm new to this coding stuff. I did everything step by step here. only problem I have is whenever I run the code I get "import module error" and i only have 3 interpreters for python for some reason and they're obviously the updated ones. No matter which one II pick I still run into the same issue and having a hard time figuring it out. Help, please?
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.
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
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!')
@user-xb3rl5bv7c that is correct, but additionally change the path from 'website/' to 'instance/'. db seems to be automatically created at a different location
Hello everyone, I am new to Flask. I am following this tutorial to learn how to use Flask and have learned a lot so far. However I encountered a problem when the video is at 1:46:58. This is how to use check_password_hash (user.password, password). I think I am comparing clear text (password) and encrypted text (user.password) because my submit button in the login form is still sending the error message saying my password is incorrect. If someone could help me with this or if Tim has enough time for it will be great. Thank you!
Check if u didn't misspelled this line def login(): if request.method == 'POST': email = request.form.get('email') password = request.form.get('passowrd')
Hi ! I m following all your instructions from the start but it seems like i can t import either views or auth . An error mssg pop out (can t import name 'views" from 'website.views' whenever i try to import them in __init__.py file , thanks in advance and love your videos : )
GET MY FREE SOFTWARE DEVELOPMENT GUIDE👇
training.techwithtim.net/free-guide
Bro there r lots of Indians u hv help with this video, tomorrow they will come to steal ur jobs.
R u really ok with that.
but I don't know why I can open the link
jinja2.exceptions.TemplateNotFound: home.html plz help
s
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.
well, you could also learn something while in college, and not waste that much money
@@barmalini yeah so true
u didnt listen there then. ya hear? just kidding....
it's hard to land tech job without degree tho
@@pakalupapito3202I’ve yet to see a stat confirming that claim. That’s more of a bygone assertion, of a time long ago. Certificates are cheaper and seem to work just as much.
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!
me also
Does it worked well by following the same instructions given in the video?
Am in same case as you, please reply...
@@ancientist1846 hi
After signing up am getting error
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!
lol
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 😭
I cant HEAR yOU>>!! OH...HELL>>>>YEAHHH
Bro can u help me out it's showing import error
@@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!
I won't lie, this is the most worth video on RUclips 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 RUclips.
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
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!
Hey bro can you tell me one thing, what's back-end and front-end Language in this project.
Please answer me🥺
Speak for yourself
@@asadraza6146 no no no no noi!!!!
How to connect with sql server
@@armygstan9541 did you find the answer to your question bro?
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.
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.
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?
@@LG-ut3hw check the description for the code used in the tutorial
@@louisgalluzzo9284 +1
@@louisgalluzzo9284 Stuck on the same issue did you find a solution yet?
This young man is an incredible tutor. He explains the concepts so clearly. Top notch, thanks Tim!
"This young is incredible" "WOW" WHAT lS That?????Is(is) vs ls(Ls)
This is honestly such a comprehensive tutorial, Tim! Major props. The explanation is clear and concise, and you provide clear reasoning for even the smaller steps that others usually ignore. Thanks a bunch for this tutorial.
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!!
ur welcome, sena
@@Ryan78900 John Sena
@@LotOFfactories hi John Seenah you’re my next gf
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
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!
@@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
@@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!
@@justinwong833 aww.. thanks. I'm so amazed people spend their time replying on this comment just to help me and others.
@@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
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.
Have you been able to get a new job yet? I'm in the same boat
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!
I had a question... do I need to be really well versed with python to go on with this video?
You deserve a Nobel prize in virtual teaching, never seen a comprehensive guide as you done..easy to learn, explaining in detail... 🎉
Wow, thank you!
@@TechWithTim When I download VS 2022, it looks different and I can't make different folders within a project- what should I do?
@@SmurphofChaosdownload vs code not vs
@@gerardonavarro3400 tysm lol. Been stuck using Python IDLE this whole time lmao
For the first time in a while, I found a video tutorial thats genuinely interesting :D
I have watch countless web tutorial on so many different topics, and this is the best one so far. Details and pace were perfect.
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.
For those how come to the comment session with create_all() to create database error 1:33:45.
As per the new version, this is the fix:
def create_database(app):
if not path.exists('website/'+ DB_NAME):
with app.app_context():
db.create_all()
print("Created Database!")
Thanks for the video. @TechWithTim
still it gives me this error message (ImportError: cannot import name '_app_ctx_stack' from 'flask' ) @siddheshkhadapkar3071
THX
thx
Thanks man! I too got the same error and applied this same piece of code to debug it. But I ran into another error while creating users for the signup page. I did exactly what he did, but the error says ValueError: Invalid hash method 'sha256'.
Any help would be extremely appreciated
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
This is the video I've been trying to find!!! SO EXCITED TO GET OFF WORK AND DO THIS ENTIRE VIDEO
I finished my other Python project and thought of exactly this. Tim never disappoints.
Hell ya
Can I ask you what your project was.
Just looking for a nice but not too hard project to practice.
Thank you.
@@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.
do you know theme is in his vs code?
can you send me the full code(zip) of the project? please
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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Hi Tim,
I just wanted to say thank you for the informative tutorial. I appreciate you taking the time to create such a helpful resource.
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.
thanks
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.
@@philosophe2517 with that , return User.query.get(int(id)) won't work , the user won't be defined
This really helped me in both the timestamps you mentioned ! Thanks a lot !
f
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.
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
NOTE at 1:31:00 there is no neeed for the create_databse function. SQLAlchemny will already not overwrite existing files and the only time the db wouldnt be created is if there is an error.
To fix the code use
with app.app_context():
db.create_all()
The whole app=app thing will certainly throw an error
Must be an update cuz I had the same issue, couldn't figure out why it worked for Tim, then saw this vid is 3 years old and I found the solution you posted in his code on his site so maybe he updated the code on the github but the vid is outdated.
Great tutorial. In the Python community "underscore underscore" is called "dunder". Just a thing to ease your tongue.
Double Underscore -> Dunder
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
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.
THANK YOU SOO MUCH THIS IS EXACTLY WHAT I NEEDED :)
@@asethipro4952 You are welcome!
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
@@sheriffOladimeji-xn2so that's what happened to me aswell lmao
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)}'
No algoexpert, i don't what to become a software engineer at google.
Update: I entered computer science and now I am a senior 😂
So true
True
True
I have my own software startup that's not looking good...
This guy deserves and Nobel prize! So true! hats off!
For earlier versions of Python (before 3.6): note = json.loads(request.data.decode('utf-8')) instead of note = json.loads(request.data)
I was wondering why the deleted section wasn't working
Superb quality tutorial. This answered a lot of long-standing questions I had.
Great step by step, very easy to catch up.
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 RUclips. Thanks a million times over and never change. You rule!
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.
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?
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.
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!
Amazing tutorial! I had some experience with sql server and power bi, and web dev but not together. Super easy to follow!
this video taught me more about implementing databases within a website than an entire masters degree that i already earned. thank you so much!!!
+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.
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! 😄👍
Right!
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!
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!
@@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.
@@charlieguthmann2531 It seems there's no other way around other than this. Thank you very much, it helped!
bro i am not able to use
create_all() function..
@@hudsong2844 you can comment out the entire create_app lines and instead use
with app.app_context():
db.create_all()
If you are using the latest version of python and flask as of 9/1/24 you could encounter an error with sha256 not being recognized in the sign up function. replace sha256 with 'pbkdf2:sha256' and it should work
thanks its working
Works perfectly!
God bless you!
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
The way you explained everything was INCREDIBLE . Thank you so much for making such a great web tutorial.
Your tutorials are the best, Tim! Thanks a lot for sharing your knowledge! It's really helpful!
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.
Yep this works in VSCode can confirm.
Amazing tutorial!. This is the best instructional video for programming I have ever seen!
assalamualakum
I would say that's one of the best coding tutorials I've ever watched. Thank you very much!
This man did the website in 2 hours. This took me 2 days LOL. Ty for the tutorial!!
this tutorial is exactly what I have been looking for. Thank you so much!
I was learning flask and i saw this notification
It was like a gift from the above
It's called Machine Learning.
Google knows what we want.
I have enormous gratitude towards you Tim, thank you for your effort !
i followed your tutorial, and running this web server on a arm based cpu media box, running openwrt os, everything works perfectly
I created my first app with your instructions.. Very clear precise and perfect. I followed along very well. Thanks man.. Even at 2yr old its still relevant i think..
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 %}
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.
This is pure gold... 🤗🤗🤗🤗 Thank you very much Tim for this tutorial. It's a life saver 😅😅
Im new to coding so lot of this stuff went over my head, but wow really enjoyed this tutorial! Much respect.
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
🔥Hey Tim, needed this one. I just wanted to use databases for my website but none were clear. Nailed it bro🔥🔥🔥. Thanks
I was getting into backend web dev in Python, and then you uploaded this :D
If Tim uploaded it 2 months before then if would be great for me
samee
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
do you know theme is in his vs code?
@@pratiksanganii It's called monokai
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!
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
Right! I did too
Okay now this is very exciting for me.....
@Vincent Ludwig I am learning that as well..
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.
You're very welcome!
@@TechWithTim at 37:37
why is my text color blue?
@@Bern9917 same problem, have you fixed that?
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
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!
g;pcl
this is my first time with python, and I'm amazed at how more straightforward it is than c++
Tim, I really appreciate your efforts to make this tutorial! As soon as I can, I'll retribute this gratefulness by being a member!
Video idea : When to learn your next programming language?
Btw if you're having problems with the "generate_password_hash()" function, idk since when but they changed the sha256 method to "scrypt". It's the same just with a different name. :)
thanks bro, that really helped me a lot
or 'pbkdf2:sha256'
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 :)
Thank you! I'm starting my passion project and even though I took some python courses, I never understood well how to create sites or apps! Thanks, again.
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.
do you know theme is in his vs code?
@@pratiksanganii the name is: Identical Sublime Text Monokai theme
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"
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!
@@jgabt 😂😂😂
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!
I wrote the code myself step by step along with the video and it worked and i don't think it's outdated or deprecated(if you're talking about jinja in general) tho it needs minor changes other than that it'll do the job
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!!! :)
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?
Great video! Consice yet precise. One note here for those who want to take this project to the next level:
You may use WTForms for flask to create forms more elegantly. It will also help you to modulerize you app.
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.
For those who has a problem with the delete button
I found the solution, replace in the base.html:
type="text/javascript"
src="{{ url_for('static', filename='index.js') }}"
by this
(Thanks ChatGPT)
@Peter Okos rip for the lost 25 minutes.
Super helpful, pal. BTW: "werkzeug" = German for "tool". Pronounce it like "verktsoik"
Das ist perfekt, danke!
12:57:
You can just click where it shows your interpreter instead of doing all that and also try restarting VsCode if you just installed flask
hey bro at 12:50 it shows cannot import create app from website(unknown location) for me in the terminal how to fix this
@@sabkakatega209 check the spelling of website......if you have change the name or w is Capital in the beginning
@@sabkakatega209 im having the same problem :'(
@@rafeykhan224 yeah
I'm new to this coding stuff. I did everything step by step here. only problem I have is whenever I run the code I get "import module error" and i only have 3 interpreters for python for some reason and they're obviously the updated ones. No matter which one II pick I still run into the same issue and having a hard time figuring it out. Help, please?
First time I sit and watch such a long video and still I hoped it would last more...
Congrats Tim! And thx
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.
Regarding the problem at the end: Every time you make changes to the javascripts you have to clear your cashe and reload it afterwards.
Strg + F5 or Ctrl + F5
13:26 here i am getting "ImportError: cannot import name 'create_app' from 'website' (unknown location)" even after importing ur code
Did you figure it out? I’m having the same issue
Same right here 😅
@@user-gs9ze8us4b I see many other people in the comments are having the same issue. Not sure why the owner of this video isn’t addressing it :/
Did you guys figure it out. Please assist us
Run the __init__.py file first one time. That solved the problem for me
Thank you very much Tim, your teaching has been superb. I have never seen such a clear and complete exposition. Thanks forever Tim.
Amazing!! Fast, straight to the point, and comprehensive.
Very well done. Subscribed!!!
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
For me it says "No module named 'website'"
when i go run the file at timing of video 12:58
Same, did you figure it out?
figured it out yet?
When I started with python I was struggling and when I saw you I got better and better. Thank You
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
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!')
Thank you. I currently stuck at this point! 😀
thanks brother
@user-xb3rl5bv7c that is correct, but additionally change the path from 'website/' to 'instance/'. db seems to be automatically created at a different location
@@atree4645 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
Hello everyone, I am new to Flask. I am following this tutorial to learn how to use Flask and have learned a lot so far. However I encountered a problem when the video is at 1:46:58. This is how to use check_password_hash (user.password, password). I think I am comparing clear text (password) and encrypted text (user.password) because my submit button in the login form is still sending the error message saying my password is incorrect.
If someone could help me with this or if Tim has enough time for it will be great. Thank you!
did u ever fix this?
Check if u didn't misspelled this line
def login():
if request.method == 'POST':
email = request.form.get('email')
password = request.form.get('passowrd')
Hi ! I m following all your instructions from the start but it seems like i can t import either views or auth . An error mssg pop out (can t import name 'views" from 'website.views' whenever i try to import them in __init__.py file , thanks in advance and love your videos : )
having the same problem right now
Hi, did you fix this error? I am getting the same?
also, I did not solved yet
same problem, did anyone find a fix?
You are great, Tim. Two years later, this is as new as ever. It's the best flask framework tutorial I have seen. Thank you a million times. 🍻 cheers
this is the best tutorial about python web developing so far i've ever seen, thank you !
Thanks for this Tim! Can I request a simple tutorial on flask+react? :)
Tim, would you cover CI/CD pipeline for easy deployment. Thanks ☺️
Tim pls
2024 Update:
1. If pip install flask does not work simply do - "pip3 install flask"
You're welcome!