Django action to add an intermediate page to parse form data
Project description
django-form-action
Django action/button with an intermediate page to parse data from a form
Installation
Just install the pakage from PyPI
pip install django-form-action
Usage
Django admin action with form
from django.contrib import admin
from django.contrib import messages
from django.forms import CharField
from django.forms import Form
from dummyapp.models import Fruit
from form_action import form_action
class MyForm(Form):
message = CharField()
@form_action(MyForm, description="Do some task")
def my_action(modeladmin, request, queryset, form):
msg = form.cleaned_data["message"]
messages.add_message(request, messages.INFO, f"Got message: {msg}")
@admin.register(Fruit)
class MyModelAdmin(admin.ModelAdmin):
actions = [my_action]
Or use it as an extra button with form
from django.contrib import admin
from django.forms import CharField
from django.forms import Form
from django.http.response import HttpResponse
from dummyapp.models import Fruit
from form_action.decorators import extra_button
from form_action.mixins import ExtraButtonMixin
class MyForm(Form):
message = CharField()
@extra_button("Test Button", MyForm)
def test(request, form):
msg = form.cleaned_data["message"]
return HttpResponse(f"Got message: {msg}")
@admin.register(Fruit)
class MyModelAdmin(ExtraButtonMixin, admin.ModelAdmin):
extra_buttons = [test]
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
Built Distribution
Close
Hashes for django_form_action-1.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1719dc36970de3873f6ce23bd8578668409704265d4eb7a96df979e2541805b |
|
MD5 | 6467c722c25be13295d92f4a4bc9b54d |
|
BLAKE2b-256 | 08a586b4f929eefc7139836bbe92892ad05938cb1302ce599fb2de9c50dbe57c |