Dpgstack

Overview

  • Approach to documentation
  • Frontend
  • Workflow: Dpgstack

1. Backend

  • Views
  • Properties: Dpgstack CBV
  • Workflow: Writing view action case
  • Definition: Function Based View (FBV)
  • Views
  • Workflow: Triggering Toast notifications
  • Models
  • Models
  • Field
  • Forms
  • You are in BookView/post()
  • URLs
  • Django settings
  • Context processors
  • Core view.py utils
  • SSE
  • State management. Backend
  • Tasks

2. Frontend

  • Component Templates
  • Frontend Forms
  • HTMX
  • Alpine.js
  • Layout
  • Full-height scrollable tables without pixel offsets
  • Notifications
  • SSE
  • State management. Frontend
  • Popup
    • Workflow: Adding popup to page
    • Properties: Popup structure
    • Properties: Popup tag
  • Progress Indication
  • django-cotton
  • Workflow: Define and render a partial
  • Events
  • Flatpickr
  • Common frontend errors
  • Web Push Notifications

3. Deployment

  • Docker
  • GitOps
  • Monitoring
  • Deployment Tools

4. Developer Experience

  • VSCode
  • Just
  • UV
  • suit_model command
  • unsuit_model command
  • Blueprint App
  • Builder
  • Factories
  • AI
  • Human
  • ZSH
  • Testing
  • Testing views.py
Dpgstack
  • Popup
  • View page source

Popup

Temporary window on top of current page

Workflow: Adding popup to page

  1. Add the popup to the start of the page:

    <div x-show="open"
            x-cloak
            @click.self="open = false">
        <div x-transition:enter="transition ease-out duration-300"
             x-transition:enter-start="opacity-0 scale-95"
             x-transition:enter-end="opacity-100 scale-100">
            <div hx-get="{% url 'get-result' %}"
                    hx-trigger="intersect once"
                    hx-target="#result">
                <div id="result">
                    <c-svg.spinner />
                </div>
            </div>
        </div>
    </div>
    
  2. Make sure parent tag has x-data:

    <div x-data="{open: false}">
        ...
    </div>
    
  3. Add an activator for popup to show:

     <button @click="open = true">
         Open popup
     </button>
    

Properties: Popup structure

  • x-data with popup state:

    <div x-data="{open: false}">
    
    </div>
    
  • Inside of x-data tag, the popup itself:

    <div x-show="open">
    
    </div>
    
  • Popup activator

    <button @click="open = true">
        Open popup
    </button>
    

Properties: Popup tag

  • x-show="open":

Previous Next

© Copyright 2026, denispcguy.

Built with Sphinx using a theme provided by Read the Docs.