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 a Flask application and creating your first routes.
Setting Up Your Environment
First, let's 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!