Skip to content

Uyga vazifa ​

Ushbu haftada o'tilgan darslar bo'yicha uyga vazifalar ro'yxati:


4-dars. Foydalanuvchilarni boshqarish: Identifikatsiya, autentifikatsiya va avtorizatsiya. Token, session va JWT ​

  1. Konspektdagi User va UserManager modellarini src/apps/accounts/models.py da yozing.
  2. settings/base.py fayliga AUTH_USER_MODEL = "accounts.User" sozlamasini kiriting.
  3. rest_framework_simplejwt paketini o'rnatib, SIMPLE_JWT sozlamalarini qo'shing.
  4. Terminalda makemigrations va migrate qilib, createsuperuser orqali yangi admin hisobini oching.

5-dars. Ruxsatlar bilan ishlash ​

  1. src/apps/common/permissions.py faylida IsStaffOrReadOnly va IsOwnerOrStaff klasslarini to'liq yozing.
  2. CategoryViewSet va TagViewSet ga permission_classes = (IsStaffOrReadOnly,) sozlamasini ulang.
  3. PostViewSet ga permission_classes = (IsAuthenticatedOrReadOnly, IsOwnerOrStaff) ni qo'ying va perform_create metodini yozing.
  4. Tizimda 2 ta foydalanuvchi ochib, 1-foydalanuvchining maqolasini 2-foydalanuvchi tahrirlay olmasligini (403 Forbidden) amalda sinab ko'ring.

6-dars. Filtrlash, qidiruv va tartiblash ​

  1. src/apps/news/filters.py faylini konspektdagi namuna asosida shakllantiring.
  2. PostViewSet ga filterset_class, search_fields va ordering_fields ni bog'lang.
  3. Postman yoki brauzer orqali quyidagi so'rovlarni amalda sinab ko'ring va natijalar to'g'ri qaytayotganiga ishonch hosil qiling:
    • GET /api/v1/posts/?status=published
    • GET /api/v1/posts/?search=texnologiya
    • GET /api/v1/posts/?ordering=-published_at

© 2026 AXVHUB.UZ