back
loading skill details...
>
Server-Side Rendering
Table of Contents
Overview
When to Use
Quick Start
Reference Guides
Best Practices
Overview
Build server-side rendered applications using modern template engines, view layers, and data-driven HTML generation with caching, streaming, and performance optimization across Python, Node.js, and Ruby frameworks.
When to Use
Building traditional web applications
Rendering HTML on the server
Implementing SEO-friendly applications
Creating real-time updating pages
Building admin dashboards
Implementing email templates
Quick Start
Minimal working example:
# app.py
from flask import Flask, render_template, request, jsonify
from datetime import datetime
app = Flask(__name__)
# Custom Jinja2 filters
@app.template_filter('currency')
def format_currency(value):
return f"${value:.2f}"
@app.template_filter('date_format')
def format_date(date_obj):
return date_obj.strftime('%Y-%m-%d %H:%M:%S')
@app.context_processor
def inject_globals():
"""Inject global variables into templates"""
return {
'app_name': 'My App',
'current_year': datetime.now().year,
'support_email': 'support@example.com'
}
# routes.py
// ... (see reference guides for full implementation)
Reference Guides
Detailed implementations in the references/ directory:
Guide
Contents
Flask with Jinja2 Templates
Flask with Jinja2 Templates
Jinja2 Template Examples
Jinja2 Template Examples
Node.js/Express with EJS Templates
Node.js/Express with EJS Templates
EJS Template Examples
EJS Template Examples
Caching and Performance
Caching and Performance
Django Template Examples
Django Template Examples
Django Templates
Django Templates
Best Practices
✅ DO
Use template inheritance for DRY code
Implement caching for frequently rendered pages
Use template filters for formatting
Separate concerns between views and templates
Validate and sanitize all user input
Use context processors for global variables
Implement proper pagination
Use conditional rendering appropriately
Cache expensive queries
Optimize template rendering
❌ DON'T
Put business logic in templates
Use unbounded loops in templates
Execute database queries in templates
Trust user input without sanitization
Over-nest template inheritance
Use very long template files
Render sensitive data in templates
Ignore template caching opportunities
Use global variables excessively
Mix multiple concerns in one template
1d:[don't have the plugin yet? install it then click "run inline in claude" again.