Создание основанного на классах ListView с отправляемой формой

Я создаю ListView на основе класса, который содержит форму. Я смог добавить форму в свой шаблон, но не могу отправить форму. Отправка должна перенаправлять на исходную страницу. Вот код:

urls.py

urlpatterns = [ 
path('<str:uuid_group>/manage/groupmembers', ManageGroupMembersListView.as_view(), name="manage_groupmembers"),
]

forms.py

class ManageGroupMemberForm(forms.ModelForm):  
    class Meta:  
        model = AadGroupmember
        fields = ['id_aaduser','id_aadpermissions']
        

views.py

class ManageGroupMembersListView(ListView):
    model = PermissionAAD
    template_name = 'permissions/group_members.html'
    paginate_by = 10 
    
    def get_context_data(self, *args, **kwargs):
        
        context = super(ManageGroupMembersListView, self).get_context_data(*args, **kwargs)
        context['uuid_group'] = self.kwargs['uuid_group']
        context ['object_list'] = self.model.objects.filter(Q(uuid__icontains=context['uuid_group']))
        context['form'] = ManageGroupMemberForm()
        return context

group_members.html

 <form method="post" action="{%url 'manage_groupmembers' uuid_group%}">

    {% csrf_token %} 
 
    {{form.as_p}} 


    <input type="submit" value="Submit">
    </form>



<table class="table">
    <thead>
        <tr>
            <th scope="col">Users</th>
            <th scope="col">First Name</th>
            <th scope="col">test</th>
        </tr>
        </thead>
        <tbody>
            <tr>
                {% for user in object_list %}
                    <td>{{ user.username}}</td>
                    <td>{{ user.shortdesc}}</td>    
                    <td>{{ user.groupname}}</td>   
        </tr>   
        {% endfor %}
    </tbody>
  </table>

Вы можете написать отдельное представление для работы с вашей формой.

#views
class CreateGroupMemberView(CreateView):
     model = AadGroupmember
     form_class = ManageGroupMemberForm
     template_name = "permissions/group_members.html"
     success_url = reverse_lazy("manage_groupmembers")

# urls
path("create/groupmembers/", CreateGroupMemberView.as_view(), name="create-group-member")

#template
<form method="post" action="{% url 'create-group-member' %}">
  {% csrf_token %} 
  {{form.as_p}} 
  <input type="submit" value="Submit">
</form>
Вернуться на верх