Introduction to Web development using Flask
0 1104
Introduction
Flask is a simple yet powerful web framework built with Python. It is known for its lightweight design and minimalistic approach, making it a perfect starting point for developers who want to understand the fundamentals of web development without the complexity of full-stack frameworks. In this blog, we’ll explore how Flask works and how you can begin creating web applications using it.
Why Use Flask for Web Development?
Flask is ideal for beginners and professionals alike due to its flexible and easy-to-understand nature. It allows you to build web apps quickly with minimal setup, yet is powerful enough to scale into larger systems with the help of extensions. Whether you’re creating a personal project, an API, or a prototype, Flask is a great choice.
Installing Flask
Before getting started, it’s recommended to set up a virtual environment for your project. This ensures your dependencies remain isolated and organized. Follow these steps:
pip install virtualenv
virtualenv venv
# For Windows:
venv\Scripts\activate
# For macOS/Linux:
source venv/bin/activate
pip install Flask
Creating Your First Flask App
A basic Flask application only needs a few lines of code. Here's a simple "Hello, World!" app to help you get started:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Welcome to your first Flask app!'
if __name__ == '__main__':
app.run(debug=True)
When you run this script, a development server starts, and visiting http://127.0.0.1:5000 in your browser will show the welcome message.
Working with Routes and Dynamic URLs
Flask allows you to create dynamic routes that accept input directly from the URL. Here’s how you can do it:
@app.route('/user/')
def greet_user(name):
return f'Hello, {name}!'
This route will respond with a custom greeting based on the name provided in the URL.
Handling Forms and Requests
Flask supports both GET and POST methods, making it easy to handle form data. Here’s a basic example of how to accept form input:
from flask import request
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
return f'Logged in as {username}'
return '''
'''
Using Templates for HTML Rendering
Instead of hardcoding HTML in your Python scripts, Flask allows you to use Jinja2 templates. These templates are stored in a templates folder and rendered using the render_template function:
from flask import render_template
@app.route('/about')
def about():
return render_template('about.html', title="About Page")
In the about.html file, you can access variables like {{ title }} to dynamically update content.
Creating a Multi-Page Form App
Let’s build a simple application that collects user data from a form and displays it on a new page:
@app.route('/')
def student_form():
return render_template('student.html')
@app.route('/result', methods=['POST'])
def result():
data = request.form
return render_template('result.html', result=data)
You’d place two templates, student.html and result.html, inside the templates directory to handle the form and display submitted data.
Conclusion
Flask is a fantastic starting point for anyone learning web development with Python. Its simplicity and flexibility allow you to build projects quickly and understand core web concepts without overwhelming complexity. Once you're comfortable with Flask basics, you can dive deeper into advanced features like database integration, user authentication, and deploying your app to the web.
If you’re passionate about building a successful blogging website, check out this helpful guide at Coding Tag – How to Start a Successful Blog. It offers practical steps and expert tips to kickstart your blogging journey!
For dedicated UPSC exam preparation, we highly recommend visiting www.iasmania.com. It offers well-structured resources, current affairs, and subject-wise notes tailored specifically for aspirants. Start your journey today!
Share:



Comments
Waiting for your comments