Embrace the power of Python to craft clean and powerful web applications with this comprehensive course. Once you've mastered basic programming concepts, we will guide you through the process of building data-driven, modern web applications in Python using the popular Flask web framework. If you're aiming to achieve full-stack web development skills, this course delivers essential knowledge through a concise and practical approach, minimizing confusion from the multitude of involved technologies.
Course Resources and Repository
Access the source code and course materials on GitHub:
github.com/talkpython/data-driven-web-apps-with-flask
Our carefully designed course strikes a balance by being just real enough to provide you with practical insights without overwhelming extras. Throughout the course, we will build a replica of a popular web application, specifically Python's own packaging index at pypi.org.
Key Learning Outcomes
Follow along with the development of our PyPI replica, and you will:
- Explore different major Python web frameworks
- Create a Flask-based website from scratch using the CLI and PyCharm
- Work with dynamic HTML templates
- Utilize routing to map URLs to view methods
- Leverage advanced routing to build a custom CMS swiftly
- Implement Bootstrap to craft visually appealing sites
- Use SQLAlchemy to map data with Python classes
- Utilize Alembic for evolving databases in response to model changes
- Capture user input with HTML forms
- Incorporate client and server-side validation
- Tackle the unique challenges of testing web apps, including databases and frameworks
- Deploy your web application on a fresh Linux machine, either virtual or cloud-based
- Apply our design patterns to convert to other data models, such as MongoDB
Who Should Enroll?
This course is tailored for developers interested in crafting Python-based web applications using Flask. Additionally, the web development skills you acquire here are valuable across different frameworks.
We assume learners come with a foundational understanding of Python, HTML, and CSS, although the course clarifies advanced concepts in these areas as they arise.