Anvil: Web apps with nothing but Python
Course demo code and other hand-out materials for our Anvil course.
Take this course for free at talkpython.fm/anvil-course.
Course Summary
Building data-driven web apps is tough. Yes, Python makes it easier than most languages, but you need to know a host of different languages and technologies and they have to fit together just right. This usually includes Python, HTML, CSS, SQL, Linux, a database server, and maybe even JavaScript. But with Anvil, you can create full stack, data-driven web apps with only Python. You write Python on the backend and Python on the client-side. The HTML and CSS are handled with Anvil's drag-and-drop visual editor. The database is seamlessly connected back to your application. And this is the course to teach you how to be effective with Anvil and Python to build data-driven web applications.
What's this course about and how is it different?
This is the definitive course on building web apps with Anvil and Python. It covers the core concepts for sure: forms, design components, and databases. But also covers building an ecommerce web application from scratch including secure user management.
In this course, you will:
- Creating your first Anvil web application
- How Anvil seamlessly mixes a single page browser-based app with a backend
- Using the form designer to create visually interesting user interfaces
- Understand how the code-behind Python integrates with the UI elements
- Add validation for user input
- Navigate between multiple forms without reloading the application
- Create user accounts and allow login from multiple sources
- Model data in the Anvil database service
- Insert into and query data from the database service
- Integrate Plotly plots for interactive charts and graphs
- Build HTTP endpoints and custom APIs for your Anvil app
- Host your application on a custom domain, including SSL support
- Add Stripe credit card support to allow for purchases directly within the application
- And lots more
View the full course outline.
Who is this course for?
Anyone who has struggled to create a proper web application and would like to use their existing Python knowledge to entirely create a full stack web app without SQL, CSS, HTML, JavaScript and all the rest.
This course assumes some basic knowledge of Python. It does not use advanced features of the language in significant ways so basic knowledge may be sufficient. But the course is not a beginner Python course, so students with little to no Python language experience should take a foundational course first. We recommend our Python Jumpstart by Building 10 Apps as a prerequisite if needed.