We hope you enjoy this tutorial, and we look forward to seeing what you'll build! If you'd like to get your project reviewed by our team & earn a certificate, register here for free: jovian.com/learn/web-development-with-python-and-flask If you have any questions or face issues, please post them in the comments and we'll help you out. Do check out our UA-cam channel as well, where we're posting new tutorials every week. Thanks @freecodecamp and Beau for hosting us! 🙏🏼
I am stuck at the function "def load_jobs_from_db()". I keep getting "TypeError: cannot convert dictionary update sequence element #0 to a sequence"... Little help here please...
@@bosserichie5578 Good day everyone. I want to express my deep gratitude to the author of the course for the work done. Thank you, your course is very informative. I'm having some problems in the code at 4:20. I understand that this is due to the fact that the version of the SQLAlchemy is 2.0.4. Solved it like this: def add_application_to_db(job_id, data): a=data["full_name"][0] b=data['email'][0] c=data["linkedin_url"][0] d=data['education'][0] e=data['work_experience'][0] f=data['resume_url'][0] with engine.connect() as conn: conn.execute(text(f"INSERT INTO applications (job_id, full_name, email, linkedin_url, education, work_experience, resume_url) VALUES ({job_id}, '{a}','{b}','{c}', '{d}', '{e}', '{f}')")) At the same time, in the "app.py" file, you need to change the dictionary to: "data = request.form.to_dict (flat = False)" because Flask returns a dictionary of the "ImmutableMultiDict" type, and we need a simple dictionary() All success in your studies!
@@bosserichie5578 Try asking this question on the course discussions page, our team will reply: jovian.com/learn/web-development-with-python-and-flask/discussions
@@jovianhq Hi, I am new to using replit. I followed exactly what you did but am getting this error: "sh: line 1: python: command not found exit status 127" Any idea how to fix this?
You are a super teacher. I wish we could teach students in the University in such granularity and functionality. There is no point dumping boring theories onto students' brain about www, HTTP, etc. Tutorials like this puts everything into context. Well done and thank you so much for making and sharing these contents.
Aakash has been a very big blessing to my career. I had an interview and somehow passing Algorithms through code challenges was difficult. But the moment i lay hold of Aakash tutorial on Data structures and algorithms. After going through the course this time i went into the test and came out successful. Thank you Co-founder of Jovian Aakash
For those experiencing some issues around 3:29, this worked for me def load_job_from_db(id): with engine.connect() as conn: result = conn.execute( text(f"SELECT * FROM jobs WHERE id={id}") ) rows = [] for row in result.all(): rows.append(row._mapping) if len(rows) == 0: return None else: return row
Thanks for the code! For my case, I had to modify the last part. You saved the day. Cheers! rows = result.all() if len(rows) == 0: return None else: return dict(rows[0]._asdict())
This worked well for me, def load_job_from_db(id): with engine.connect() as conn: result = conn.execute( text("select * FROM jobs WHERE id= :val"), {"val": id} ) rows = result.all() if len(rows) == 0: return None else: return rows[0]._asdict()
For those facing issue related to the TypeError while appending the row in the result_dict at 2:56:00 can use result_dicts.append(row._mapping), i was also facing this issue wasted around 2 Hrs to figure it out!
If you're stuck at 2:56:09 this worked fine for me: with engine.connect() as conn: result = conn.execute(text("select * from jobs")) result_dicts = [] for row in result.all(): result_dicts.append(dict(row._mapping)) print(result_dicts)
If you don't get proper dictionary @3:26:50 here is the function that worked for me: def load_job_from_db(id): with engine.connect() as conn: result = conn.execute(text("SELECT * FROM jobs WHERE id = :val"),{'val': id}) row = result.fetchone() return row._asdict()
Hey thanks for the solution however, a small edit to your snippet did the magic for me: def load_work_from_db(id): with engine.connect() as conn: result = conn.execute(text("SELECT * FROM work WHERE id = :val"),{'val': id}) row = result.fetchone() if row: return row._asdict() else: return None Thing that is a bit confusing to me is why on earth the original code doesn't work. I mean it seems to be working when the Prof is writing it but when I followed his methods it won't work for me. Anyhow Thanks for sharing your solution!
Thanks! There's definitely a lot more to web development that we haven't covered here, but we wanted to demonstrate that the end-to-end process of a fully functional website isn't as long or hard as it seems. 🙂
@Jovian Absolutely, but for a starter guide this covered tons of features. I was able to build a well packaged web just by following your tutorial. Thanks again and keep up the great work 👍
@@jovianhq law, cantonment, religious theology, business naming, economy, history, literature, surrounding flora and fauna is related to all Jews mastermind game, why we need to disguise or mockery that we are different. the thing is everyone is on the same page
at 2:55:20 if you are stuck with dict( ) conversion, try using ._asdict() method Apparently it will be like first_result_dict = result_all[0]._asdict()
4:21:16 if anyone's facing issues where the data is not being inserted into the database, even though there's no errors in your code, then write conn.commit() after the conn.execute() command.
If you had trouble converting to dict at around 2h:54m, apparently Legacy.Row is out of date. This worked for me: with engine.connect() as conn: result = conn.execute(text("select * from jobs")) result_all = result.all() first_result = result_all[0] column_names = result.keys() first_result_dict = dict(zip(column_names, first_result)) print(first_result_dict)
with engine.connect() as conn: result = conn.execute(text("select * from jobs")) column_names = result.keys() result_dicts = [] for row in result.all(): result_dicts.append(dict(zip(column_names, row))) print(result_dicts)
@@caiozendron5024 thanks it was useful for anyone who is stuck with other func. for 'load_job_from_db()' function it should work like this: def load_job_from_db(id): # CREATE "LIST" OF row with id with engine.connect() as conn: query = "SELECT * FROM jobs WHERE ID={}".format(id) result = conn.execute(text(query)) column_names = result.keys() result_dicts = [] rows = result.all() if len(rows) == 0: return None for row in rows: result_dicts.append(dict(zip(column_names, row))) return (result_dicts)
Thank you very much for this tutorial, i could understand entire tutorial, and make it work on my laptop, render and planetscale, I used PyCharm on my laptop instead of replit, and the insert functionality I had to make some changes to make it work - had to use key value pair : values={'job_id': job_id, 'full_name':data['full_name'], 'email':data['email'], 'linked_url':data['linkedin_url'], 'education':data['education'], 'work_experience':data['work_experience'], 'resume_url':data['resume_url'] } and then add this 'values' to the conn.execute (query, values)
This tutorial is just awesome!! Bro please make one similar video which will include HTML,CSS, Java Script, Angular & Database in that. Mainly I would like to understand how javascript Anular and DB work together.
In case you are having a problem with the images not being displayed in the /job/id after including the banner.html and nav.html into your jobpage.html around 3:36:33, you will need to go into the banner.html file, in the add ../ to your image source path so it will be like this src="../static/hero.jpeg" and remember to apply the same to nav.html file too. That should fix it. Good luck!
i wanted to share the web site i developed using this video cos its my frst time web though i used pycharm cos my code on replit was like #python not found so i knew there aint way after trying many time,i watched this video for two weeks while building my own and learnt everything, aakash is my teacher for life
Hi Akash. Thank you for the detailed tutorial on Python web development. Specially delving into the very basics like HTML and CSS. It is a good refresher as well helped in learning Python web development as a whole.
Thank you very much for this tutorial, it helps me a lot to understand how web dev works and to build a good mindset about internet and web dev. thank you very much
@@IamTanmoy28No, we wait for thunderstorms and use the lightning flash to do our school assignments and other things 😢.Sometimes we also read using our father’s cigarette light
@@kevinleonumana98 "For convenience, the following keys may also be specified inline within the URL where they will be interpreted into the “ssl” dictionary automatically: “ssl_ca”, “ssl_cert”, “ssl_key”, “ssl_capath”, “ssl_cipher”, “ssl_check_hostname”." - it's from the docs.
For anyone experiencing issues at 4:23:00 for getting an error message that 'job_id' is not an argument. You can make the following changes to the code : def add_application_to_db(job_id, data): row = {'job_id' : job_id, 'full_name' : data['full_name'], 'email' : data['email'], 'linkedn_url' : data['linkedn_url'], 'education' : data['education'], 'work_exp' : data['work_exp'], 'resume_url' : data['resume_url'] } with engine.connect() as conn: query = text("INSERT INTO applications (job_id, full_name, email, linkedn_url, education, work_exp, resume_url) VALUES (:job_id, :full_name, :email, :linkedn_url, :education, :work_exp, :resume_url)") conn.execute(query,row) conn.commit()
from 2.55.22 timeing, i got this issue sorted instead of using dict(), used _asdict():# first_result_dict = dict(result_all[0]) # we are having issue with this dict function as its unable convert dictionary update sequence element #0 to a sequence, so using chart gpt i found it runs well as using .asdict() which makes dict function able to convert the above issue Else all good, i just shared as any one else may have this issue.Thanks The Vedio is very clarified and self dependable.
The following also worked for me: with engine.connect() as conn: result = conn.execute(text("SELECT * FROM jobs")) result_dicts = [] for row in result.all(): result_dicts.append(dict(zip(result.keys(), row))) print(result_dicts)
Take the first step towards becoming a web developer with Python by learning Flask and Dynamic Database-Driven Web Apps with this comprehensive course!
Very informative tutorial. Thanks for creating such a wonderful tutorial and helping the needy🙏 Now the site Planet-scale is not totally free. Please can you suggest any alternative.
How to store a file type input in SQL instead of taking resume url? how about .pdf? I know it isn't a right approach with SQL DB but is there any workaround to it?
I'm stuck on that exact point. Planetscale is not offering hobby database to users in my country. I'm searching for an alternative. If you found another way please let me know.
We hope you enjoy this tutorial, and we look forward to seeing what you'll build! If you'd like to get your project reviewed by our team & earn a certificate, register here for free: jovian.com/learn/web-development-with-python-and-flask
If you have any questions or face issues, please post them in the comments and we'll help you out. Do check out our UA-cam channel as well, where we're posting new tutorials every week.
Thanks @freecodecamp and Beau for hosting us! 🙏🏼
Thanks!
I am stuck at the function "def load_jobs_from_db()". I keep getting "TypeError: cannot convert dictionary update sequence element #0 to a sequence"... Little help here please...
@@bosserichie5578
Good day everyone.
I want to express my deep gratitude to the author of the course for the work done. Thank you, your course is very informative.
I'm having some problems in the code at 4:20.
I understand that this is due to the fact that the version of the SQLAlchemy is 2.0.4.
Solved it like this:
def add_application_to_db(job_id, data):
a=data["full_name"][0]
b=data['email'][0]
c=data["linkedin_url"][0]
d=data['education'][0]
e=data['work_experience'][0]
f=data['resume_url'][0]
with engine.connect() as conn:
conn.execute(text(f"INSERT INTO applications (job_id, full_name, email, linkedin_url, education, work_experience, resume_url) VALUES ({job_id}, '{a}','{b}','{c}', '{d}', '{e}', '{f}')"))
At the same time, in the "app.py" file, you need to change the dictionary to: "data = request.form.to_dict (flat = False)" because Flask returns a dictionary of the "ImmutableMultiDict" type, and we need a simple dictionary()
All success in your studies!
@@bosserichie5578 Try asking this question on the course discussions page, our team will reply: jovian.com/learn/web-development-with-python-and-flask/discussions
@@jovianhq Hi, I am new to using replit. I followed exactly what you did but am getting this error:
"sh: line 1: python: command not found exit status 127"
Any idea how to fix this?
You are a super teacher. I wish we could teach students in the University in such granularity and functionality. There is no point dumping boring theories onto students' brain about www, HTTP, etc. Tutorials like this puts everything into context. Well done and thank you so much for making and sharing these contents.
what a tutorial, started from zero, by the end got almost everything, on my way of building personal projects with obtained skills and knowledge!!
Aakash has been a very big blessing to my career. I had an interview and somehow passing Algorithms through code challenges was difficult. But the moment i lay hold of Aakash tutorial on Data structures and algorithms. After going through the course this time i went into the test and came out successful. Thank you Co-founder of Jovian Aakash
This is gold! The flow was absolutely flawless and understood without having to rewind and watch. Great stuff! 👌
Thanks, we're glad you liked it!
For those experiencing some issues around 3:29, this worked for me
def load_job_from_db(id):
with engine.connect() as conn:
result = conn.execute(
text(f"SELECT * FROM jobs WHERE id={id}")
)
rows = []
for row in result.all():
rows.append(row._mapping)
if len(rows) == 0:
return None
else:
return row
Thanks for the code! For my case, I had to modify the last part. You saved the day. Cheers!
rows = result.all()
if len(rows) == 0:
return None
else:
return dict(rows[0]._asdict())
can you please provide the correct and complete link of jovian image
This worked well for me,
def load_job_from_db(id):
with engine.connect() as conn:
result = conn.execute(
text("select * FROM jobs WHERE id= :val"),
{"val": id}
)
rows = result.all()
if len(rows) == 0:
return None
else:
return rows[0]._asdict()
For those facing issue related to the TypeError while appending the row in the result_dict at 2:56:00 can use result_dicts.append(row._mapping), i was also facing this issue wasted around 2 Hrs to figure it out!
You made my day! I was looking to why I was having this error and I looked online but I could not get around it. Thanks a bunch!
wow thank you so much!!!! You help me a lot ;)
👍👍👍
bhai bhai bhai!!!! :)
Thank You!!
thanks a lot man that really helped
If you're stuck at 2:56:09 this worked fine for me:
with engine.connect() as conn:
result = conn.execute(text("select * from jobs"))
result_dicts = []
for row in result.all():
result_dicts.append(dict(row._mapping))
print(result_dicts)
Dhanyawad Mitra!
👍👍
You're my hero! Let's just say I should have checked the comments 2 hours ago
Thank you bro
Thank you!
If you don't get proper dictionary @3:26:50 here is the function that worked for me:
def load_job_from_db(id):
with engine.connect() as conn:
result = conn.execute(text("SELECT * FROM jobs WHERE id = :val"),{'val': id})
row = result.fetchone()
return row._asdict()
Thanks :)
Hey thanks for the solution however, a small edit to your snippet did the magic for me:
def load_work_from_db(id):
with engine.connect() as conn:
result = conn.execute(text("SELECT * FROM work WHERE id = :val"),{'val': id})
row = result.fetchone()
if row:
return row._asdict()
else:
return None
Thing that is a bit confusing to me is why on earth the original code doesn't work. I mean it seems to be working when the Prof is writing it but when I followed his methods it won't work for me.
Anyhow Thanks for sharing your solution!
@@minhajmasood5706 thanks for the fix . i was struggling so bad because of this
This Course is the best ! NO Questions, But very Out Dated!
This was absolutely amazing, built a fully packaged website with dynamic data and email linked, basically everything
Thanks! There's definitely a lot more to web development that we haven't covered here, but we wanted to demonstrate that the end-to-end process of a fully functional website isn't as long or hard as it seems. 🙂
@Jovian Absolutely, but for a starter guide this covered tons of features. I was able to build a well packaged web just by following your tutorial. Thanks again and keep up the great work 👍
@@jovianhq law, cantonment, religious theology, business naming, economy, history, literature, surrounding flora and fauna is related to all Jews mastermind game, why we need to disguise or mockery that we are different. the thing is everyone is on the same page
can you please provide the correct and complete link of jovian image
Thank you Aakash and freeCodeCamp for taking the time to create and share this video it was a great walk through for flask and mysql in the cloud!!
First, I'd like to say this is one of the most fluid and well explained coruses i've ever taken
Thanks, we're glad you enjoyed the course!
I gained more knowledge from you than I did from my entire college web development course. Thank you, sir.
By far the best tutorial I have seen, explaining the end to end workflow and resolving errors on the go.
Thank you so much FreeCodeCamp and Aakash!!
were you able to create a free database using Planet scale?
The fact that this is available is fantastic!
at 2:55:20 if you are stuck with dict( ) conversion, try using ._asdict() method
Apparently it will be like
first_result_dict = result_all[0]._asdict()
thanks DeeJay
Thanks man
How did you manage to push your work to GitHub?
Thank you!
this really works
people can use this as alternate
The course is really cool. the best tutorial for flask for beginners
4:21:16 if anyone's facing issues where the data is not being inserted into the database, even though there's no errors in your code, then write conn.commit() after the conn.execute() command.
sir, you are the best. Just started with web development and i literally understood everything without any problem. thank you very much
can you please provide the correct and complete link of jovian image link
Wow ! Wow ! Wow ! Wow !!! This is just absolutely fantastic. This is a whole career
I usually don't comment on videos but this one is super helpful. cheers to you man , This was flawless
I am grateful to see a tutorial that is not using SQLIte. Looking forward to this. Thank you.
Yeah, we're using PlanetScale to set up a free MySQL database here. You can also use Supabase or Neon if you'd like to use Postgres.
@@jovianhq Gonna finally try neon. Lets see
@@jovianhq Is there another way except giving PlanetScale credit card information?
can you please provide the correct and complete link of jovian image
Awesome tutorial !!!! Thanks for making it this simple. Seen several tutorials but this one is the best of all. Great effort....
Absolutely love this course.. Thank you 🙂
Thanks, we're glad you found it useful!
Always keep it up! You're doing great! 👍👍👍👍👍
Thanks, we're glad you enjoyed the tutorial!
by far the most easy to understand tutorial I've come across
The best web development tutorial so far!
easy to Follow and understand.
I have great respect for Jovian; he is an excellent teacher.
This is a very good tutorial. You will learn flask, how to deploy on render and hosting.
He is definitely a good web development teacher. You teached in-depth and everything I loved it
If you had trouble converting to dict at around 2h:54m, apparently Legacy.Row is out of date. This worked for me:
with engine.connect() as conn:
result = conn.execute(text("select * from jobs"))
result_all = result.all()
first_result = result_all[0]
column_names = result.keys()
first_result_dict = dict(zip(column_names, first_result))
print(first_result_dict)
with engine.connect() as conn:
result = conn.execute(text("select * from jobs"))
column_names = result.keys()
result_dicts = []
for row in result.all():
result_dicts.append(dict(zip(column_names, row)))
print(result_dicts)
@@caiozendron5024 thanks thats great, how did you work this out?
@@caiozendron5024 Thank you very much 🙌, I was really stuck at this point.
@@caiozendron5024 thanks it was useful
for anyone who is stuck with other func.
for 'load_job_from_db()' function it should work like this:
def load_job_from_db(id):
# CREATE "LIST" OF row with id
with engine.connect() as conn:
query = "SELECT * FROM jobs WHERE ID={}".format(id)
result = conn.execute(text(query))
column_names = result.keys()
result_dicts = []
rows = result.all()
if len(rows) == 0:
return None
for row in rows:
result_dicts.append(dict(zip(column_names, row)))
return (result_dicts)
Cool bro! Thanks a lot.
One of the best web dev tutorial. Thanks fcc. ❤
This is Awesome. Please continue with the next steps!! This Content is GOLD!!
RReally thank you it has been a great help. I was trying to learn flask form other sources but this was the most helpful 4.5 hr video.
4:19:02 The code of data:
def add_aplication_to_db(job_id, data):
with engine.connect() as conn:
query = text(
f"INSERT INTO applications(job_id, full_name, email, linkedin_url, education, work_experience, resume_url) VALUES (:job_id, :full_name, :email, :linkedin_url, :education, :work_experience, :resume_url)"
)
conn.execute(
query,
{
"job_id": job_id,
"full_name": data["full_name"],
"email": data["email"],
"linkedin_url": data["linkedin_url"],
"education": data["education"],
"work_experience": data["work_experience"],
"resume_url": data["resume_upload"],
},
)
conn.commit()
It will work definitely,
Thank you very much for this tutorial, i could understand entire tutorial, and make it work on my laptop, render and planetscale, I used PyCharm on my laptop instead of replit, and the insert functionality I had to make some changes to make it work - had to use key value pair : values={'job_id': job_id,
'full_name':data['full_name'],
'email':data['email'],
'linked_url':data['linkedin_url'],
'education':data['education'],
'work_experience':data['work_experience'],
'resume_url':data['resume_url']
} and then add this 'values' to the conn.execute (query, values)
can you please provide the correct and complete link of jovian image
@@ananyachauhan775 You can go to the description and you will get that.
Excellent tutorial. Nothing irrelevant. To the point👌
This tutorial is just awesome!! Bro please make one similar video which will include HTML,CSS, Java Script, Angular & Database in that. Mainly I would like to understand how javascript Anular and DB work together.
can you please provide the correct and complete link of jovian image
Thank you for this, so well-explained and comprehensive!
You're welcome! 🙂
Web Development with Python Tutorial very helpful video, i learned a lot from here. Looking forward to the next videos
Glad you liked it!
In case you are having a problem with the images not being displayed in the /job/id after including the banner.html and nav.html into your jobpage.html around 3:36:33, you will need to go into the banner.html file, in the add ../ to your image source path so it will be like this src="../static/hero.jpeg" and remember to apply the same to nav.html file too. That should fix it. Good luck!
Thanks for your tutorial. It made sense how the web development can be done following your tutorial.
This is actually so helpful, Thank you so much!
i wanted to share the web site i developed using this video cos its my frst time web though i used pycharm cos my code on replit was like #python not found so i knew there aint way after trying many time,i watched this video for two weeks while building my own and learnt everything, aakash is my teacher for life
planetscale have no free plan now....how you access this for free?
@@cricketcentral1815 I just checked PlanetScale, it still offer free plan as Hobby.
This is Gold bro 👌
Hi Akash. Thank you for the detailed tutorial on Python web development. Specially delving into the very basics like HTML and CSS. It is a good refresher as well helped in learning Python web development as a whole.
Simply great! Thank you for this great step by step project. I can see my project built up by only watching your video. Many many thanks.
can you please provide the correct and complete link of jovian image link
i am working as a python backend developer this video lot a help me thank you so mush for nice video..
One of the best tutorial I've ever seen about Flask.
can you please provide the correct and complete link of jovian image link
Thank you very much for this tutorial, it helps me a lot to understand how web dev works and to build a good mindset about internet and web dev. thank you very much
Very useful tutorial, thanks a lot, Jovian and Freecodecamp!
After many hours i finally finish this course! REally nice to get some practice. Thanks!!! a lot.
can you please provide the correct and complete link of jovian image link
The tutorial was very impactful. Thank you for putting this togetter
Thank you for this tutorial. This is a gem.
if you're stuck at 2:56:12 This is one of the solutions you can try,
with engine.connect() as conn:
result = conn.execute(text("select * from jobs"))
result_dicts = []
for row in result.all():
result_dicts.append(row._asdict())
print(result_dicts)
Thank you for helping us Africans
😂😂😂
You guy's have electricity??😮
😂😂😂😂
Is not he look like indian..haha😅
@@IamTanmoy28No, we wait for thunderstorms and use the lightning flash to do our school assignments and other things 😢.Sometimes we also read using our father’s cigarette light
issue around 2:47? instead of:
"ca": "/etc/ssl/cert.pem"
use:
"ssl_cert": "/etc/ssl/cert.pem"
Thank you, I was stuck in that part. But I need to know why ? ¿ What is the difference ?
@@kevinleonumana98 "For convenience, the following keys may also be specified inline within the URL where they will be interpreted into the “ssl” dictionary automatically: “ssl_ca”, “ssl_cert”, “ssl_key”, “ssl_capath”, “ssl_cipher”, “ssl_check_hostname”." - it's from the docs.
thanks!
For anyone experiencing issues at 4:23:00 for getting an error message that 'job_id' is not an argument. You can make the following changes to the code :
def add_application_to_db(job_id, data):
row = {'job_id' : job_id,
'full_name' : data['full_name'],
'email' : data['email'],
'linkedn_url' : data['linkedn_url'],
'education' : data['education'],
'work_exp' : data['work_exp'],
'resume_url' : data['resume_url']
}
with engine.connect() as conn:
query = text("INSERT INTO applications (job_id, full_name, email, linkedn_url, education, work_exp, resume_url) VALUES (:job_id, :full_name, :email, :linkedn_url, :education, :work_exp, :resume_url)")
conn.execute(query,row)
conn.commit()
whats the reason of using conn.commit()? I understand that its important bcz my code was not working until I used this line of code. But any reasons?
best tutorial ever👍👍👍
Thanks you Mr. Aakash for this wonderful tutorial.
from 2.55.22 timeing, i got this issue sorted instead of using dict(), used _asdict():# first_result_dict = dict(result_all[0])
# we are having issue with this dict function as its unable convert dictionary update sequence element #0 to a sequence, so using chart gpt i found it runs well as using .asdict() which makes dict function able to convert the above issue
Else all good, i just shared as any one else may have this issue.Thanks
The Vedio is very clarified and self dependable.
The following also worked for me:
with engine.connect() as conn:
result = conn.execute(text("SELECT * FROM jobs"))
result_dicts = []
for row in result.all():
result_dicts.append(dict(zip(result.keys(), row)))
print(result_dicts)
Thank you very much for sharing. Best one video!
Very Great Video!
this guy is a god level teacher
wow am grateful for the great work done here💖😄
Great job ! Thank you for this tutorial
Take the first step towards becoming a web developer with Python by learning Flask and Dynamic Database-Driven Web Apps with this comprehensive course!
Very good tutorial and should help many developers to build on similar lines. Great job 👍
Thank you bro! It's so cool course for Flask beginner.
Very informative tutorial. Thanks for creating such a wonderful tutorial and helping the needy🙏
Now the site Planet-scale is not totally free. Please can you suggest any alternative.
Great lesson. Thanks!
absolutely great tutorial!!!!!
Amazing lecture!!!
Thanks!
Very helpful. Thanks for sharing 👍
Glad you found it helpful!
finnaly finish it thank you so much
1:18:42 When I do this, there is no output, because the variable 'job' is not accessed by jobitem.html.
Thank you for this😊
You're welcome, looking forward to seeing what you'll build!
Thank you very much for this course!
You're welcome!
Muchas gracias fue divertido. Algunas cosas han cambiado pero se pueden realizar.
when 3rd part of this video is coming? Great work man👍👍
WOW 😃❤
Gratitude 🙏👍
2:22:49 any alternative to Planet Scale because it is asking card details even for the free plan
Brother did you find any?
aiven worked fine for me
Awesome tutorial ...
Good work da baiii
This was great!!
Loved your content , is it important to buy a domain to put it on your submit project and earn certificate section?
This video is helpful 👍
This was like super useful ! Thank you a lot Sir , I appreciate your work
You're welcome Sebastian! We hope you were able to follow along and deploy your own website.
How to store a file type input in SQL instead of taking resume url?
how about .pdf? I know it isn't a right approach with SQL DB but is there any workaround to it?
thank you for the course
You're welcome!
I had to install python package at Replit for it to work. Otherwise I get a not found error. Took me an hour to figure it out but it's working now.
The deployment to planetscale is different now, are there any update things or anything like that?
I am having problem with Planet scale revoke my username and password after pushing GitHub commit. What issue did you have?
I'm stuck on that exact point. Planetscale is not offering hobby database to users in my country. I'm searching for an alternative. If you found another way please let me know.
I used them I just figured it out, might have emailed them or something.@@Editinggeek
Good job! 🤛🏻
Awesome lecture!
Glad you enjoyed it!
i am gonna watch it i find it intresting as teaching is good
This gentelman somehow has the best way for me to understand!
Thank you so much Sir
Planet scale stopped its hobby tier package what is a good alternative for it?
I am replying to myself Aiven is a good alternative
@@aayushmaan3128 hey thanks man. i thought of using amazon rds but would now try aiven.
@@aayushmaan3128 but ow to configure ssl certuficate to it