django-admin-react
A drop-in React single-page admin for Django — driven entirely by your existing ModelAdmin. Dark mode, mobile cards, drag-and-drop column layout with freezable columns, keyboard a11y, JSON-aware detail rendering, and a bidirectional bridge to the classic admin during migration. Pip install and go — no React code on your side.
File Explorer
- agent_question.md
- bug.yml
- bug_report.md
- config.yml
- consumer_integration.yml
- enhancement.yml
- feature_request.md
- ci.yml
- codeql.yml
- publish.yml
- README.md
- PULL_REQUEST_TEMPLATE.md
- .gitkeep
- README.md
- base_site.html
- index.html
- login.html
- README.md
- sw.js
- _experience_toggle_strip.html
- README.md
- __init__.py
- experience_toggle.py
- __init__.py
- apps.py
- checks.py
- conf.py
- pwa.py
- README.md
- urls.py
- views.py
- 01-spa-login.png
- 02-spa-registry.png
- 03-spa-list.png
- 04-spa-list-mobile.png
- 05-spa-detail.png
- 06-registry-api-json.png
- 07-spa-list-dark.png
- 08-spa-detail-dark.png
- 09-spa-detail-mobile.png
- README.md
- README.md
- __init__.py
- __init__.py
- test_admin.py
- __init__.py
- admin.py
- apps.py
- models.py
- README.md
- __init__.py
- __init__.py
- test_admin.py
- __init__.py
- admin.py
- apps.py
- models.py
- README.md
- __init__.py
- __init__.py
- test_admin.py
- __init__.py
- admin.py
- apps.py
- models.py
- README.md
- __init__.py
- __init__.py
- test_admin.py
- __init__.py
- admin.py
- apps.py
- models.py
- README.md
- 0001_initial.py
- __init__.py
- run_custom.html
- __init__.py
- test_admin.py
- __init__.py
- admin.py
- apps.py
- models.py
- README.md
- __init__.py
- __init__.py
- test_admin.py
- __init__.py
- admin.py
- apps.py
- models.py
- README.md
- 0001_initial.py
- __init__.py
- __init__.py
- admin.py
- apps.py
- models.py
- __init__.py
- asgi.py
- manage.py
- README.md
- settings.py
- urls.py
- wsgi.py
- __init__.py
- README.md
- RecordSkeleton.tsx
- adaptFormSpec.test.ts
- adaptFormSpec.ts
- ChangeForm.test.tsx
- ChangeForm.tsx
- CollapsedEmptyInline.tsx
- CustomViewsMenu.tsx
- DeleteButton.tsx
- DetailValue.tsx
- EditForm.tsx
- FieldsetSection.tsx
- HtmlFragment.test.tsx
- HtmlFragment.tsx
- InlineSection.tsx
- ObjectActionButton.tsx
- helpers.ts
- action-result.test.ts
- action-result.ts
- CreatePage.tsx
- DetailPage.test.tsx
- DetailPage.tsx
- HomePage.tsx
- ListPage.tsx
- LoginPage.tsx
- prepopulate.test.ts
- prepopulate.ts
- action-redirect.test.ts
- action-redirect.ts
- App.tsx
- changelistFilters.test.ts
- changelistFilters.ts
- ColumnLayoutModal.test.tsx
- ColumnLayoutModal.tsx
- ErrorBoundary.test.tsx
- ErrorBoundary.tsx
- index.css
- Layout.tsx
- LegacyAdminBanner.test.tsx
- LegacyAdminBanner.tsx
- main.tsx
- slugify.test.ts
- slugify.ts
- toast.test.ts
- toast.tsx
- useModelMeta.test.tsx
- useModelMeta.ts
- useUnsavedGuard.ts
- index.html
- package.json
- postcss.config.js
- README.md
- tailwind.config.js
- tsconfig.json
- vite.config.ts
- README.md
- client.test.ts
- client.ts
- contract.ts
- index.ts
- package.json
- README.md
- tsconfig.json
- index.ts
- keys.test.ts
- keys.ts
- storage.test.ts
- storage.ts
- theme.test.ts
- theme.ts
- use-persisted-state.test.tsx
- use-persisted-state.ts
- package.json
- README.md
- tsconfig.json
- api-context.tsx
- cache-purge.test.ts
- cache-purge.ts
- detail-context.tsx
- form-spec-context.tsx
- format.test.ts
- format.ts
- index.ts
- list-context.tsx
- mutations.test.ts
- mutations.ts
- recent-actions-context.tsx
- registry-context.tsx
- swr-cache.test.ts
- swr-cache.ts
- package.json
- README.md
- tsconfig.json
- FieldValueView.test.tsx
- FieldValueView.tsx
- index.ts
- JsonViewer.tsx
- package.json
- README.md
- tsconfig.json
- AutocompleteInput.tsx
- CustomWidgetMount.tsx
- FieldInput.test.tsx
- FieldInput.tsx
- index.ts
- InlineEditor.tsx
- RelatedAddModal.tsx
- ShuttleSelect.test.tsx
- ShuttleSelect.tsx
- package.json
- README.md
- tsconfig.json
- HistoryModal.tsx
- index.ts
- package.json
- README.md
- tsconfig.json
- DateHierarchyBar.test.tsx
- DateHierarchyBar.tsx
- index.ts
- ListSkeleton.test.tsx
- ListSkeleton.tsx
- package.json
- README.md
- tsconfig.json
- index.ts
- package.json
- README.md
- tsconfig.json
- FilterBar.test.tsx
- FilterBar.tsx
- index.ts
- package.json
- README.md
- tsconfig.json
- AccountMenu.tsx
- index.ts
- package.json
- README.md
- tsconfig.json
- index.ts
- Sidebar.tsx
- package.json
- README.md
- tsconfig.json
- en.json
- es.json
- fr.json
- pt.json
- Breadcrumb.tsx
- Button.tsx
- Card.tsx
- Checkbox.tsx
- custom-widget.test.ts
- custom-widget.ts
- EmptyState.tsx
- i18n.test.ts
- i18n.ts
- index.ts
- Input.tsx
- Modal.tsx
- Pagination.test.tsx
- Pagination.tsx
- Popover.tsx
- RecordCardList.test.tsx
- RecordCardList.tsx
- RefreshButton.tsx
- ResetButton.tsx
- Skeleton.tsx
- Spinner.tsx
- Table.test.tsx
- Table.tsx
- useMediaQuery.test.ts
- useMediaQuery.ts
- package.json
- README.md
- tsconfig.json
- README.md
- check-dark-mode-coverage.mjs
- .npmrc
- .prettierrc
- .stylelintrc.json
- eslint.config.mjs
- package.json
- pnpm-lock.yaml
- pnpm-workspace.yaml
- README.md
- tsconfig.base.json
- vitest.config.ts
- vitest.setup.ts
- audit-deps.sh
- build.sh
- deploy.sh
- dev.sh
- lint.sh
- README.md
- screenshots.mjs
- screenshots.sh
- 0001_initial.py
- __init__.py
- __init__.py
- admin.py
- apps.py
- models.py
- __init__.py
- README.md
- settings.py
- urls.py
- urls_no_admin.py
- __init__.py
- conftest.py
- helpers.py
- README.md
- test_active_language.py
- test_checks.py
- test_doc_refs.py
- test_login.py
- test_login_next_redirect.py
- test_pwa.py
- test_spa_index.py
- .editorconfig
- .gitignore
- .pre-commit-config.yaml
- ARCHITECTURE.md
- CHANGELOG.md
- LICENSE
- package.json
- poetry.lock
- pyproject.toml
- README.md
- SECURITY.md
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
batch
View Details ▼
batch
Execute commands at a later time when the system load levels permit.
Results will be sent to the user's mail.
See also: `at`, `atq`, `atrm`, `mail`.
batch
Execute commands from `stdin` (press `<Ctrl d>` when done):
systemctl start atd
Start the `atd` daemon:
echo "{{./make_db_backup.sh}}" | batch
Execute a command from `stdin`:
django-admin
View Details ▼
django-admin
Django's utility for administrative tasks.
django-admin startproject {{project_name}}
Create a new Django project:
django-admin startapp {{app_name}}
Create a new app for the current project:
django-admin help {{command}}
Display help for a specific command:
gettext
View Details ▼
gettext
Translates a string using stored translations in a compiled `.mo` file.
Translations are stored in `/usr/share/locale/locale_name/LC_MESSAGES/` with `domain` being the filename without its extension.
See also: `msgfmt`, `msgunfmt`.
LANGUAGE={{locale}} gettext {{[-d|--domain]}} {{domain}} "{{msgid}}"
Get the translation of a string as specified in the domain file (falls back to given `msgid` if no translation exists):
gettext {{[-h|--help]}}
Display help:
gettext {{[-V|--version]}}
Display version:
hash
View Details ▼
hash
View cached executable locations.
hash
View cached command locations for the current shell:
hash -r
Clear the hash table:
hash -d {{command}}
Delete a specific command from the hash table:
pip install
View Details ▼
pip install
Install Python packages.
pip install {{package1 package2 ...}}
Install one or more packages:
pip install {{package1 package2 ...}} {{[-U|--upgrade]}}
Upgrade all specified packages to the latest version, installing any that are not already present:
pip install {{package}}=={{version}}
Install a specific version of a package:
python
View Details ▼
python
Python language interpreter.
python
Start a REPL (interactive shell):
python {{path/to/file.py}}
Execute a specific Python file:
python -i {{path/to/file.py}}
Execute a specific Python file and start a REPL:
salt
View Details ▼
salt
Execute commands and assert state on remote salt minions.
salt '*' test.ping
List connected minions:
salt '*' state.highstate
Execute a highstate on all connected minions:
salt '*.example.com' pkg.upgrade
Upgrade packages using the OS package manager (apt, yum, brew) on a subset of minions:
select
View Details ▼
select
Bash builtin construct for creating menus.
select {{word}} in {{apple orange pear banana}}; do echo ${{word}}; done
Create a menu out of individual words:
select {{line}} in $({{command}}); do echo ${{line}}; done
Create a menu from the output of another command:
PS3="{{Select a file: }}"; select {{file}} in *; do echo ${{file}}; done
Specify the prompt string for `select` and create a menu for picking a file or folder from the current directory:
mount
View Details ▼
mount
Mount host directories/drives/images as virtual DOS drives.
MOUNT C .
Mount current directory as C:
MOUNT C {{C:\path\to\directory}}
Mount specific directory as C:
MOUNT C {{C:\path\to\directory}} -freesize {{1024}}
Mount with free space limit (MB):
script
View Details ▼
script
Record all terminal output to a typescript file.
script
Record a new session to a file named `typescript` in the current directory:
exit
Stop recording:
script {{path/to/session.out}}
Record a new session to a custom filepath:
