i have this Model Admin:
class Items(admin.ModelAdmin)
actions = ['action_create_task']
def action_create_task(self, request, queryset):
if request.POST.get('post'):
form = CreateTaskAction(request.POST)
if form.is_valid():
# doing something
self.message_user(request, "Success appended task!")
return redirect(request.get_full_path())
else:
form = CreateTaskAction()
return render(request, 'create_task.html', {
'title': 'Create task for selected items',
'itmes': queryset,
'form': form
})
And i use this HTML code on my template create_task.html
{% extends "admin/base_site.html" %}
{% block content %}
{% load staticfiles %}
<form action="" method="post">
{% csrf_token %}
{{ form }}
<h2>Create task for this items</h2>
<ul>{{ items|unordered_list }}</ul>
<input type="hidden" name="action" value="action_create_task" />
<input type="hidden" name="post" value="yes" />
<input type="submit" value="Create task" />
</form>
{% endblock %}
But if i select some items, next select action and then submit Create Task Action
form, i haven't receive any POST and will just redirected to list of objects without something messages and etc. In other words, when i submit my form i redirected to sites list, without calling my action function. Whats am i doing wrong?