Django Admin dialogs and actions with intermediate forms
Project description
django-admin-wizard
django-admin-wizard is a Django app providing helpers for django admin actions with intermediate forms.
Description
Do you know "delete selected" action in Django-admin? This package provides helpers for creating such actions with intermediate forms in two lines of code. Also, you may add a link from django admin change page to a custom form view to perform some form-supplied action on single object.
Installation
pip install django-admin-wizard
Working example is in testproject.testapp
.
- Add application to installed apps in django settings:
INSTALLED_APPS.append('admin_wizard')
- And an action to your admin:
from django.contrib import admin from admin_wizard.admin import UpdateAction from testproject.testapp import forms, models @admin.register(models.MyModel) class MyModelAdmin(admin.ModelAdmin): actions = [UpdateAction(form_class=forms.RenameForm)]
- Add custom view to your admin:
from django.contrib import admin from django.urls import path from admin_wizard.admin import UpdateDialog from testproject.testapp import forms, models @admin.register(models.MyModel) class MyModelAdmin(admin.ModelAdmin): def get_urls(self): urls = [ path('<int:pk>/rename/', UpdateDialog.as_view(model_admin=self, model=models.MyModel, form_class=forms.RenameForm), name='rename') ] return urls + super().get_urls()
- Add a link to custom dialog in admin change page:
from django.contrib import admin from django.urls import reverse from testproject.testapp import models @admin.register(models.MyModel) class MyModelAdmin(admin.ModelAdmin): readonly_fields = ('update_obj_url',) def update_obj_url(self, obj): # FIXME: it's XSS, don't copy-paste url = reverse('admin:rename', kwargs=dict(pk=obj.pk)) return f'<a href="{url}">Rename...</a>' update_obj_url.short_description = 'rename'
Now you have "rename" action in changelist and "rename" link in change view. Enjoy :)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for django-admin-wizard-0.5.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fac936d02cf01a1219a0a8eec137b4a6433e15f3c5a797b697eea0b6b6ff5b8 |
|
MD5 | 1d200e6d32377ba12f4b73025baf5eb2 |
|
BLAKE2b-256 | 1af4e79f2c0d3028862e8f402070c39ea6a7461b5e0dcc013f7526b20fb2437d |
Close
Hashes for django_admin_wizard-0.5.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39caf50ac5ce3a84ba0c6783ba66e0a3843c48794652e5bf01c2de4c2f0fd19c |
|
MD5 | 93c156c5d63e8094b1323f684f2030b0 |
|
BLAKE2b-256 | 853e2633f75916267508ccd56d2c5f281a5fab02a0dd6fb7b9352093d96c9125 |