Getting Started with Flask
Published March 20, 2024
Flask is a lightweight and flexible Python web framework that's perfect for building web applications. In this guide, we'll walk through the basics of setting up an application and creating your first routes.
Setting Up Your Environment
First, set up a virtual environment and install Flask:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install flask
Creating Your First Flask Application
Create a new file called app.py:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
Understanding Routes
Routes in Flask are defined using the @app.route() decorator. Here's how to create different routes:
@app.route('/about')
def about():
return 'About Page'
@app.route('/user/<username>')
def user_profile(username):
return f'Profile of {username}'
Using Templates
Flask uses Jinja2 for templating. Create a templates folder and add your HTML files:
from flask import render_template
@app.route('/')
def home():
return render_template('index.html', title='Home')
Handling Forms
To handle form submissions:
from flask import request
@app.route('/contact', methods=['GET', 'POST'])
def contact():
if request.method == 'POST':
name = request.form.get('name')
return f'Thanks for submitting, {name}!'
return render_template('contact.html')
Best Practices
- Always use virtual environments
- Keep your code organized in modules
- Use blueprints for larger applications
- Implement proper error handling
- Use environment variables for configuration
Next Steps
Now that you have the basics, you can:
- Add a database using SQLAlchemy
- Implement user authentication
- Create RESTful APIs
- Add static files and styling
Remember, Flask's philosophy is to keep things simple and flexible. Start small and add features as needed!