If the user submits malicious JavaScript instead of a word, escape() will it render as text and the browser will not run it, keeping your web application safe. In this step, you’ll activate your Python environment and install Flask using the pip package installer. Follow our free step-by-step web app development guide and develop a full-stack web app in just 30 minutes with a fully responsive web UI and MySQL database. Flask is a web framework that allows developers to build lightweight web applications quickly and easily with Flask Libraries.

Advanced Python Web Dev Using Flask Lessons

One of the most common problems that freshmen on campus face is choosing which clubs to join on campus. This process is further complicated by the fact that some clubs are very competitive to get into, have multiple interview rounds, and require a large time commitment. Often, none of these aspects of clubs are discussed during club information sessions. But perhaps the less-known usage of Python is its use as a web server. Overshadowed by more popular frameworks like as Node/Express and Ruby on Rails, Python is often overlooked as a web server choice for most developers.

You are unable to access udemy.com

These packages are dependencies Flask needs to perform different functions. @app.route(‘/’) is a Python decorator that Flask provides to assign URLs in our app to functions easily. The ‘/’ URL is the default URL for our web server and loads the function just below it when the server is run. Its simplicity allows for quick learning and coding, making it an excellent choice for startups and prototype development. Earn a verified certificate of accomplishment (sample) by completing all weekly assignments and the course project.

You then use it to create your Flask application instance, giving it the name app. You pass the special variable __name__, which holds the name of the current Python module. This name tells the instance where it’s located; you need this because Flask sets up some paths behind the scenes. Templates folder in Flask is used to store HTML files and other web pages you want to display with the application.


This will keep track of changes in our database models without needing to recreate our database (i.e. remove all the information and then rebuild the database from scratch). Now that our virtual environment is installed and activated, let’s install Flask. We can then run the example from earlier by writing the following in our command line. By adding the CSS file reference to base.html, you’re again taking advantage of the inheritance mechanism that Jinja templates provide. You only need to add styles.css in your base template to make it present in your child templates.

So this file is much longer, but recall that there are many things an answer is related to. What this does is create a new association table (an intermediary between the Club and ClubCategory model). But within the association table, we refer to these Primary Keys as Foreign Keys (because they are refering to other tables). Additionally, we need to add a line to the Club model at the bottom.

Then open a style.css file inside the css directory for editing:

When you refer to the web page in your code, it will look into the folder templates in the project directory. Warning Flask uses a simple web server to serve our application in a development environment, which also means that the Flask debugger is running to make catching errors easier. This development server should not be used in a production deployment. See the Deployment Options page on the Flask documentation for more information, you can also check out this Flask deployment tutorial. Now that you have your programming environment set up, you’ll start using Flask. In this step, you’ll make a small web application inside a Python file and run it to start the server, which will display some information on the browser.

It recently became fairly popular, garnering 1200+ GitHub stars over the course of a few months. This codebase is perfect for what we are trying to set up. You can find the GitHub repo containing the code for Flask base here. Advanced Python Web Dev Using Flask Lessons Flask-base is a project that my friends and I developed as part of a student run nonprofit called Hack4Impact. We work with nonprofits over a semester to develop technical projects that help them accomplish their mission.

With the development server running, open your browser and visit the following URL:

You can reference a CSS file with a tag in the header of your HTML page. Just like before, you use url_for() to create the full URL for the href attribute. To link to the styles.css file stored in your Flask project’s static/ folder specifically, you use the filename argument. Commonly, the Jinja base template is named base.html, and it contains the main HTML structure of your web pages. The main structure of base.html is similar to a normal HTML page.