The Flask Framework course is currently in the publishing process. Check back soon for more lessons! For now, here's an overview of what we have in store for you.
If you’ve ever felt overwhelmed by web development, picture this: with Flask, you can create a fully functional Python + Flask app with just one file and a few lines of code!
In this Python + Flask tutorial series, you'll learn the fundamental skills for building web applications. Each section of our course teaches a concept that gets implemented into a complete and complex Python Flask app that uses databases, authentication, Flask templates, and more. Additionally, you'll learn in-demand DevOps skills to improve your code, reduce your debugging time, and deploy your applications like a pro.
Why Learn Flask?
Flask is a popular Python web framework that allows you to quickly develop high quality web applications. It’s also widely used by data scientists for displaying data science projects and findings.
Flask is simple but also robust, which is why it is loved by startups as well as enterprises like Netflix, Reddit and Lyft.
Flask is also one of the easiest web dev frameworks to learn, and is built on a language that developers love – Python. Become a confident, modern web developer by learning Python + Flask web development!
Flask Prerequisites
Below is a list of what you should know before starting this course:
- Basic programming concepts (preferably in Python - see details below)
- Basics of HTML & CSS
- Basic understanding of how the web works
- Basic knowledge of database concepts
- Understanding of the Command Line (see details below)
- Version control with Git and GitHub (see details below)
Python Programming
At least 3 months of experience with Python programming is recommended. Ideally you have completed CodingNomads' Python 101, Python 201, and Python 301 courses, or have the equivalent knowledge. The course assumes you have some knowledge and experience of packages, modules, functions, decorators, and object oriented programming in general. However, you won't need any knowledge about Flask to be able to learn the material in this course.
If you don't know Python but already have experience with web development in another object-oriented language, such as Java, Ruby, JavaScript, C, or C++, then you should be fine to take this course. However, Python is fun! You will probably enjoy this course more after having Python's basics down.
Additionally, you should have some beginner's knowledge related to general web development and database concepts. There's no need to be an expert in any, but having a general idea will make everything click and stick easier. In this course, you will dive deeper into a lot of the great mysteries and complexities that make multiple files and systems interact with each other to form a functioning web app. It's no magic, but it's close! :)
Command Line
You should also feel comfortable using the command line of your operating system, as you will be using the command line quite a bit throughout this course. In particular, you'll use the command line interface (CLI) to configure your environment, test code, and push your project to version control.
Git and Github
You'll be using Github to store and update your project as you build it from the ground up, so some familiarity with Git is nice to have.
What Will I Learn in the Flask Tutorial Series?
In this course, you will learn Flask Framework fundamentals in order to build an app using Python + Flask. Specifically, you'll build a music sharing social networking app called Ragtime from start to finish.
In order to build your final project, you will learn:
- Overview of web frameworks and Flask
- Set up your development environment and virtual environments
- Page Templates, Jinja
- Handling Errors
- Making Forms with Flask-WTF
- Database Management using Flask-SQLAlchemy: Setup & Basics
- Database Management using Flask-SQLAlchemy: Advanced=
- Scaling Up: Application Factory, Configs, and Blueprints
- Introduction To Testing Your App
- Users: Authentication, Roles, Profiles
- Sending Emails & Email Verification
- Relationships in the Database
- RESTful APIs
- Deploying Your App On Heroku (PaaS)
How are the Flask Tutorials Structured?
The course generally follows a "read something, watch something, do something" flow, where you read documentation that introduces a concept, then watch a video, then complete a number of actions such as assignments, journals, and quizzes. The course intends to give you a lot of practice building applications in Python + Flask.
By the end of this course you’ll be able to
- Build your own professional-grade web applications from scratch using Python + Flask, RESTful APIs, Git & GitHub, VSCode and more.
- Possess engineering and DevOps skills to become a professional web developer.
- Construct modern, polished front-end design templates using Flask’s Jinja2 template engine and Bootstrap.
- Use relational databases and Flask-SQLAlchemy to manage your data and run queries.
- Deploy your webapps on Heroku – one of the most commonly used cloud providers.
- Perform unit testing, an in-demand DevOps skill that reduces debugging time, and ensures your code is working as expected.
- Quickly learn any other Python web framework with ease.
Summary: Python + Flask Tutorial Series Overview
This lesson provided a summary of the prerequisites and concepts you will learn in the Python + Flask Tutorial Series. In this course, you will build a social networking app called Ragtime. The prerequisites for this course are:
If you're looking for a lightweight way to break into building web applications, Python + Flask can help you get there quickly. Learn critical software engineering techniques like using RESTful APIs, deployment, and more. I'm sure you're excited to dive in, so in the next section you'll see what a simple Flask application can do!