There is nothing like a challenge to bring out the best in man. - Sean Connery
Hi Pythonistas, a new week, a new 'bite' of Python coding! This week we’re going to get down and dirty with Python Flask. Flask is becoming a hot skill to have in your arsenal so we figure it’s about time we had a challenge on it! Enjoy!
We decided to split the challenge into two parts given how time consuming this may be for some. If you can manage it, go for the bonus too!
The base requirement:
- Create a Flask web app that allows you to enter data via a web form
- Data should then be displayed in some way (on the same page or on another page)
- Data should be persistent. It’s up to you how you store the data, as long as it’s persistent.
- Allow the stored data to be manipulated (deleted, edited).
An example use case for this could be a To-Do list app.
This is an open ended challenge. There are very few requirements and many possibilities! It doesn’t have to look pretty, as long as the functionality is there. Have fun with it, learning Flask can be incredibly satisfying!
What is Flask?
As we discussed in our beginner Flask article last week, it’s a web framework to allow you to create Python web applications.
For this challenge you should definitely have some HTML (and CSS) experience. It’ll definitely make things easier.
To help with your learning, here are some resources that should get you started:
- Our beginner Flask article
- Our Printing Dicts with Flask article
- This great (working!) simple Flask to-do list app
- Bob’s Weather Compare App Code (post coming soon!)
- The offical Flask documentation
- This beginner video series from The New Boston
- If you're serious about learning Flask and Python web development checkout Real Python, they have top-notch material on this subject.
See our INSTALL doc how to fork our challenges repo to get cracking. We updated this doc with additional instructions how to submit your solution to our community branch (and end-of-the-week review) via a Pull Request (PR).
Last but not least: there is no best solution, only learning more and better Python. Good luck!
Keep Calm and Code in Python!
-- Bob and Julian