Skip to main content

Staff dashboard and tools for Plain.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Staff

An admin interface for staff users.

The Plain Staff is a new packages built from the ground up. It leverages class-based views and standard URLs and templates to provide a flexible admin where you can quickly create your own pages and cards, in addition to models.

  • cards
  • dashboards
  • diy forms
  • detached from login (do your own login (oauth, passkeys, etc))

Installation

  • install plain.staff and plain.htmx, add plain.staff.admin and plain.htmx to installed packages
  • add url

Models in the admin

Dashboards

{% load toolbar %} <!doctype html>

... {% toolbar %} ... ```

More specific settings can be found below.

Tailwind CSS

This package is styled with Tailwind CSS, and pairs well with plain-tailwind.

If you are using your own Tailwind implementation, you can modify the "content" in your Tailwind config to include any Plain packages:

// tailwind.config.js
module.exports = {
  content: [
    // ...
    ".venv/lib/python*/site-packages/plain*/**/*.{html,js}",
  ],
  // ...
}

If you aren't using Tailwind, and don't intend to, open an issue to discuss other options.

plain.requestlog

The request log stores a local history of HTTP requests and responses during plain work (Django runserver).

The request history will make it easy to see redirects, 400 and 500 level errors, form submissions, API calls, webhooks, and more.

Watch on YouTube

Requests can be re-submitted by clicking the "replay" button.

Django request log

Installation

# settings.py
INSTALLED_PACKAGES += [
    "plainrequestlog",
]

MIDDLEWARE = MIDDLEWARE + [
    # ...
    "plainrequestlog.RequestLogMiddleware",
]

The default settings can be customized if needed:

# settings.py
DEV_REQUESTS_IGNORE_PATHS = [
    "/sw.js",
    "/favicon.ico",
    "/staff/jsi18n/",
]
DEV_REQUESTS_MAX = 50

Tailwind CSS

This package is styled with Tailwind CSS, and pairs well with plain-tailwind.

If you are using your own Tailwind implementation, you can modify the "content" in your Tailwind config to include any Plain packages:

// tailwind.config.js
module.exports = {
  content: [
    // ...
    ".venv/lib/python*/site-packages/plain*/**/*.{html,js}",
  ],
  // ...
}

If you aren't using Tailwind, and don't intend to, open an issue to discuss other options.

plain.impersonate

See what your users see.

A key feature for providing customer support is to be able to view the site through their account. With impersonate installed, you can impersonate a user by finding them in the Django admin and clicking the "Impersonate" button.

Then with the staff toolbar enabled, you'll get a notice of the impersonation and a button to exit:

Installation

To impersonate users, you need the app, middleware, and URLs:

# settings.py
INSTALLED_PACKAGES = INSTALLED_PACKAGES + [
  "plain.staff.impersonate",
]

MIDDLEWARE = MIDDLEWARE + [
  "plain.staff.impersonate.ImpersonateMiddleware",
]
# urls.py
urlpatterns = [
    # ...
    path("impersonate/", include("plain.staff.impersonate.urls")),
]

Settings

By default, all staff users can impersonate other users.

# settings.py
IMPERSONATE_ALLOWED = lambda user: user.is_staff
``` -->

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plain_staff-0.9.0.tar.gz (157.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plain_staff-0.9.0-py3-none-any.whl (164.9 kB view details)

Uploaded Python 3

File details

Details for the file plain_staff-0.9.0.tar.gz.

File metadata

  • Download URL: plain_staff-0.9.0.tar.gz
  • Upload date:
  • Size: 157.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.5.20

File hashes

Hashes for plain_staff-0.9.0.tar.gz
Algorithm Hash digest
SHA256 d03005686247e50242795a6bd4d237cbcdd615cac3e47da49c00890fedbb9cf3
MD5 ffe2e043208ee7a8c82158dc99e26b7a
BLAKE2b-256 b893106a05c6df12e2de635c47f9c5f5f8295fc9832198d4005087a2b34a1a34

See more details on using hashes here.

File details

Details for the file plain_staff-0.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for plain_staff-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90d8d68fe21c2b6a6af2f02675d033e9d86a3a38d4f02dd6598be7220c7a486e
MD5 b1151835bafbc023d69e4f5eb9ac0dec
BLAKE2b-256 09995b93ae9353261a65d8a7f7f484e2daa90135aff5c8027a5bf83119f73274

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page