Skip to content
david-pettifor-nd edited this page Aug 10, 2026 · 1 revision

Events

How to create events, series, recurring dates, and event listings on ND Theme CMS v4.

Most events start in Django Admin, not by creating a CMS page by hand. Saving an event automatically creates (and keeps in sync) an Event Page.

Related: Site-Settings, Page-Meta, Page-Tags, Archiving, Navigation-and-Search.

Before you start: Event Page parent

  1. Go to Site-Settings at /admin/ndthemes/setting/.
  2. Open the Event Page setting (type: Page).
  3. Choose the CMS page that should parent new event pages (often your Events listing page).

When you create an event (or event series) without another parent, the system moves its CMS page under this Event Page setting.

Create an event in Admin

  1. Open /admin/ndthemes/event/.
  2. Add an event and fill in:
    • Name
    • Start / End (date and time)
    • Location
    • Map link (optional)
    • Series (optional — see Event Series below)
  3. Save.

The site:

  • Creates a CMS page with the Event Page template
  • Tags it with Event if that Page-Tags exists
  • Adds Date and Time and Location widgets into the page placeholders
  • Seeds a short description in the content placeholder if it is empty
  • Places the page under the series page (if set) or under the Site Settings Event Page parent

Events in Django Admin

To delete events safely from the changelist, use the custom Delete selected events action (the default admin delete-selected action is disabled).

Event Page (CMS)

Open the public event URL (or find the page in the page tree). The template is Event Page.

Event detail page

Placeholders

Placeholder Role
date_time Date and Time widget (synced with the Admin event)
location Location widget (synced with the Admin event)
content Event description and other body widgets

Edit the description in content like any other page. Prefer NDT widgets where they fit; see Widgets.

Two-way sync: Admin ↔ page widgets

Change here Updates
Event in /admin/ndthemes/event/ Date and Time and Location on the Event Page
Date and Time on the Event Page Event start / end in Admin
Location on the Event Page Event location and map link in Admin

Use either Admin or the page widgets — they stay aligned after you save.

Location fields on the widget: name, address, and Google Maps link. Admin stores location text and map link on the Event record.

Also set Page-Meta (preview image, summary, tags) so listings and cards look complete.

Event Series

  1. Open /admin/ndthemes/eventseries/.
  2. Create a series with a Name and save.

The site:

  • Creates an Event Series Page
  • Tags it with Event when that tag exists
  • Adds an Event List widget to the Series Events placeholder with child events only turned on
  • Places the series page under the Site Settings Event Page parent when it has no parent yet

Assign events to the series in the Event Admin (Series field). Those event pages move under the series page.

Event Series Page placeholders

Placeholder Role
Page Lede Intro under the title
Page Content Optional content above the list
Series Events Usually Event List (child events only)

Deleting a series (via the custom bulk delete action) deletes its series page and linked events.

Recurring events (bulk)

On /admin/ndthemes/event/:

  1. Select one or more existing events.
  2. Choose the admin action Create Recurring Events.
  3. Run the action.

Each selected event gets a new sibling event in the same recurring group (same name, location, and map link). You then set the new dates.

  • If you selected one event, Admin opens the new event so you can enter its date.
  • If you selected several, you get a confirmation and return to the event list to edit dates.

Recurring groups are also available at a public series URL pattern under /events/series/<slug>/ for linked occurrences.

Event Listing page

Create (or use) a page with template Event Listing Page for your main upcoming-events view.

Events landing / listing

Placeholders

Placeholder Role
Page Lede Short intro under the title
Page Content Optional content above the list
Events List Typically an Event List widget

Point Site Settings Event Page at this listing page (or another intentional parent) so new events land in the right branch of the tree.

Event list widgets

Use these on listing pages, series pages, or any content area:

Event List

Editor name: Event List

  • Shows event pages that are still ongoing (end date on or after today)
  • Skips pages marked archived (archive_now)
  • Optional tags filter (via Page Meta tags)
  • Optional child events only (used on series pages)
  • Optional date window, limit, and view-more link

Events Insert

Editor name: Events Insert

  • Shows upcoming events (start date on or after today)
  • Skips archived pages
  • Optional tags, date window, limit, and further-reading link

Both widgets read Event Pages (and their Date/Time + Location plugins), not a separate public calendar UI.

Tips

  • Create events in Admin first; then enrich content and Page-Meta on the CMS page.
  • Keep the Event Page-Tags available if you want auto-tagging and archive/search categories.
  • Past or retired events: use Archiving, and optionally enable Auto-archive events in Site-Settings.
  • Event Page placeholder slot names are lowercase (date_time, location, content) — that is expected in Structure mode.

Clone this wiki locally