@You7431

Какие лучшее практики для организации и названия Django urls и views?

Имею простой 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>
  • Вопрос задан
  • 26 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Everything_is_bad
Ты упомянул REST, но так возьми и почитай как там принято именовать и какие методы использовать, это информация легко гуглиться. Так же ты поставил тег Django REST framework, хотя ее не используешь, открой ее доки и тоже почитай.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы