Claude
Skills
Sign in
Back

server-side-rendering

Included with Lifetime
$97 forever

Implement server-side rendering with template engines, view layers, and dynamic content generation. Use when building server-rendered applications, implementing MVC architectures, and generating HTML on the server.

Web Devscripts

What this skill does


# Server-Side Rendering

## Table of Contents

- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#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:

```python
# 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': '[email protected]'
    }

# routes.py
// ... (see reference guides for full implementation)
```

## Reference Guides

Detailed implementations in the `references/` directory:

| Guide | Contents |
|---|---|
| [Flask with Jinja2 Templates](references/flask-with-jinja2-templates.md) | Flask with Jinja2 Templates |
| [Jinja2 Template Examples](references/jinja2-template-examples.md) | Jinja2 Template Examples |
| [Node.js/Express with EJS Templates](references/nodejsexpress-with-ejs-templates.md) | Node.js/Express with EJS Templates |
| [EJS Template Examples](references/ejs-template-examples.md) | EJS Template Examples |
| [Caching and Performance](references/caching-and-performance.md) | Caching and Performance |
| [Django Template Examples](references/django-template-examples.md) | Django Template Examples |
| [Django Templates](references/django-templates.md) | 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

Related in Web Dev