Имею простой CRUD в Django + REST. Не могу понять норм ли у меня вюхи и нужно просто переделать urls или нужно переписать вюхи. Ментор сказал, что так подробно эндпоинты называть не нужно. Их нужно регулировать с помощью методов GET и тд.
А сам роутинг должен быть таким:
users/ - GET - list
users/ - POST - create
users/int:pk/ - DELETE - delete
users/int:pk/ - PUT/PATCH - update
urls.py:
from django.urls import path
from . import views
urlpatterns = [
path('users/', views.TelegramUserList.as_view(), name='tg_users_list'),
path('users_create/', views.TelegramUserCreate.as_view(), name='create_users'),
path('users_deleted/<int:pk>/', views.TelegramUserDelete.as_view(), name='tg_users_deleting'),
]
views.py
from django.shortcuts import render
from django.views import generic
from django.urls import reverse_lazy
from .models import TelegramUser
from .forms import TelegramUserForm
class TelegramUserList(generic.ListView):
model = TelegramUser
template_name = 'tg_users.html'
context_object_name = 'tg_users_list'
class TelegramUserCreate(generic.CreateView):
model = TelegramUser
template_name = 'add_tg_users.html'
form_class = TelegramUserForm
success_url = reverse_lazy('tg_users_list')
class TelegramUserDelete(generic.DeleteView):
model = TelegramUser
template_name = 'tg_users.html'
success_url = reverse_lazy('tg_users_list')
Инфу с html отправляю такими кнопками:
<form action="{% url 'tg_users_deleting' pk=tg_user.pk %}" method="POST" style="margin:0px">
{% csrf_token %}
<button type="submit" class="btn btn-danger">Delete</button>
{{ form.errors }}
</form>