Вы смешиваете представление и шаблон. Просмотр запросов обработчика и шаблона отображения содержимого и ссылок. У вас будет ListView, который будет содержать список сообщений. В шаблоне вы добавляете формы для обновления, форму для создания и формы для удаления. Каждая форма будет иметь действие атрибута со ссылкой на соответствующий вид. Таким образом, формы обновления будут иметь ссылку на url с UpdateView, создавать формы для CreateView и удалять DeleteView. В каждой форме вы перенаправляете обратно в ListView. Таким образом, если вы хотите использовать только Django.
ИЛИ
Если вы действительно хотите, чтобы все обрабатывать на одной странице без обновления и перенаправления. Вы можете использовать ajax и django-rest-framework и его viewset. В представлении вы можете обрабатывать списки, создавать, обновлять, нажимать, детализировать в одном классе.
Viewset:
class UserViewSet(viewsets.ViewSet):
"""
Example empty viewset demonstrating the standard
actions that will be handled by a router class.
If you're using format suffixes, make sure to also include
the `format=None` keyword argument for each action.
"""
def list(self, request):
pass
def create(self, request):
pass
def retrieve(self, request, pk=None):
pass
def update(self, request, pk=None):
pass
def partial_update(self, request, pk=None):
pass
def destroy(self, request, pk=None):
pass