Python is a versatile programming language that can be used for a wide range of applications, including web development. In fact, Python provides several ways to create a web server and serve web pages. In this tutorial, we will explore how to use Python as a web server.
Setting Up Python
Before we dive into creating a web server, make sure you have Python installed on your machine. You can download the latest version of Python from the official website and follow the installation instructions specific to your operating system.
Once you have Python installed, open your terminal or command prompt and type
python --version to verify the installation. If you see the version number printed, you are good to go!
Using the Built-in ‘http.server’ Module
Python comes with a built-in module called ‘http.server’, which provides a simple HTTP server that can serve files from your local directory. This module is perfect for testing and development purposes.
To start using this module, navigate to the directory where your HTML files are located using the ‘cd’ command in your terminal or command prompt. Once inside the desired directory, run the following command:
python -m http.server
This will start the HTTP server on port 8000 by default. Open your favorite browser and navigate to http://localhost:8000.
You should see a directory listing of all the files in your current directory. Clicking on any file will display its contents in the browser.
Customizing Port Number
If you prefer using a different port number instead of the default 8000, you can specify it as an argument when starting the server:
python -m http.server 8080
This will start the server on port 8080 instead.
Serving Specific Files
By default, the ‘http.server’ module serves all the files in your directory. However, if you want to serve a specific file, you can specify it as an argument when starting the server:
python -m http.server 8000 --bind 127.0.1 myfile.html
This will serve only the ‘myfile.html’ file in your browser.
Using Flask Framework
While the built-in ‘http.server’ module is great for simple tasks, it is limited in functionality. If you need more control and flexibility over your web server, you can use a Python web framework like Flask.
Flask is a micro-framework that allows you to build web applications quickly and easily. To get started with Flask, first, install it by running the following command:
pip install flask
Once Flask is installed, create a new Python script and import the necessary modules:
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello World!' if __name__ == '__main__': app.run()
Save this file with a ‘.py’ extension (e.g., ‘app.py’). In this example, we define a simple route that returns “Hello World!” when accessed from the root URL (“/”).
To start the Flask development server, run the following command in your terminal or command prompt:
You should see an output similar to “Running on http://127.1:5000/”. Open your browser and navigate to this URL to see your Flask application in action.
Python provides several options for using it as a web server. The built-in ‘http.server’ module is perfect for testing and development purposes, while Flask allows you to build more complex web applications. Whether you choose simplicity or flexibility, Python has got you covered for all your web server needs.
That’s it! Now you know how to use Python as a web server. So go ahead and start building your own web applications using the power of Python!