- Python for Web Development
-
Overview
- Introduction to Flask and Django
- Setting Up a Flask Application
- Django Models and Migrations
- Routing and URL Handling in Django and Flask
- Forms and User Authentication in Django and Flask
- REST API Development with Flask & Django
- Working with Databases (SQLite, PostgreSQL, MySQL)
- Template Engines (Jinja2 for Flask, Django Templates)
- Deployment of Flask & Django Applications on AWS, GCP, and Heroku
- Security Best Practices for Web Apps
Setting Up a Flask Application
Add to BookmarkFlask is a lightweight and flexible web framework for Python that makes building web applications simple and efficient. In this tutorial, we will go through the step-by-step process of setting up a Flask application from scratch.
1. Installing Flask
Before starting, ensure that Python is installed on your system. You can check this by running:
python --version
or
python3 --version
Now, install Flask using pip
:
pip install Flask
2. Creating a Basic Flask App
Once Flask is installed, create a new directory for your project and navigate into it:
mkdir flask_app
cd flask_app
Inside this directory, create a Python file (e.g., app.py
) and add the following code:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Welcome to Your First Flask App!"
if __name__ == '__main__':
app.run(debug=True)
Explanation:
- We import the
Flask
class. - We create an instance of the Flask application.
- The
@app.route('/')
decorator defines a route for the homepage. - The
home()
function returns a simple message. app.run(debug=True)
runs the application in debug mode.
3. Running the Flask Application
To start your Flask app, run:
python app.py
or
python3 app.py
You will see output similar to:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Now, open your browser and visit http://127.0.0.1:5000/
. You should see "Welcome to Your First Flask App!" displayed on the page.
4. Project Structure
As your Flask project grows, organizing your files becomes crucial. A common structure is:
flask_app/
│── app.py
│── templates/
│ ├── index.html
│── static/
│ ├── style.css
│── requirements.txt
templates/
→ Stores HTML files.static/
→ Stores CSS, JS, images, etc.requirements.txt
→ Lists dependencies (pip freeze > requirements.txt
).
5. Creating a Simple HTML Template
Flask supports Jinja2 templating. Let's create a templates
folder and an index.html
file inside it:
<!DOCTYPE html>
<html>
<head>
<title>My Flask App</title>
</head>
<body>
<h1>Welcome to Flask!</h1>
</body>
</html>
Modify app.py
to render this HTML:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
Now, reload http://127.0.0.1:5000/
, and you’ll see your HTML page!
6. Running Flask with a Virtual Environment (Optional)
To keep your project dependencies organized, you can use a virtual environment:
python -m venv venv
source venv/bin/activate # On macOS/Linux
venv\Scripts\activate # On Windows
pip install Flask
This ensures Flask is installed only for this project.
Conclusion
You have successfully set up a basic Flask application! In the next tutorials, we will explore routing, handling user inputs, working with databases, and more. Stay tuned!
Prepare for Interview
- JavaScript Interview Questions for 0–1 Year Experience
- JavaScript Interview Questions For Fresher
- SQL Interview Questions for 5+ Years Experience
- SQL Interview Questions for 2–5 Years Experience
- SQL Interview Questions for 1–2 Years Experience
- SQL Interview Questions for 0–1 Year Experience
- SQL Interview Questions for Freshers
- Design Patterns in Python
- Dynamic Programming and Recursion in Python
- Trees and Graphs in Python
- Linked Lists, Stacks, and Queues in Python
- Sorting and Searching in Python
- Debugging in Python
- Unit Testing in Python
- Asynchronous Programming in PYthon
Random Blogs
- Loan Default Prediction Project Using Machine Learning
- 10 Awesome Data Science Blogs To Check Out
- 15 Amazing Keyword Research Tools You Should Explore
- What to Do When Your MySQL Table Grows Too Wide
- The Ultimate Guide to Starting a Career in Computer Vision
- Ideas for Content of Every niche on Reader’s Demand during COVID-19
- What is YII? and How to Install it?
- Best Platform to Learn Digital Marketing in Free
- Store Data Into CSV File Using Python Tkinter GUI Library
- Robotics & AI – How AI is Powering Modern Robotics
- Datasets for analyze in Tableau
- Important Mistakes to Avoid While Advertising on Facebook
- Google’s Core Update in May 2020: What You Need to Know
- Mastering Python in 2025: A Complete Roadmap for Beginners
- Where to Find Free Datasets for Your Next Machine Learning & Data Science Project
Datasets for Machine Learning
- Amazon Product Reviews Dataset
- Ozone Level Detection Dataset
- Bank Transaction Fraud Detection
- YouTube Trending Video Dataset (updated daily)
- Covid-19 Case Surveillance Public Use Dataset
- US Election 2020
- Forest Fires Dataset
- Mobile Robots Dataset
- Safety Helmet Detection
- All Space Missions from 1957
- OSIC Pulmonary Fibrosis Progression Dataset
- Wine Quality Dataset
- Google Audio Dataset
- Iris flower dataset
- Artificial Characters Dataset