api links

This commit is contained in:
nabijonovdavronbek619@gmail.com
2025-12-02 20:35:46 +05:00
parent b4366eaaba
commit 9d9d5f241c
10 changed files with 48 additions and 21 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

14
content/serializers.py Normal file
View File

@@ -0,0 +1,14 @@
from rest_framework import serializers
from .models import Product, ContactMessage
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = "__all__"
class ContactSerializer(serializers.ModelSerializer):
class Meta:
model = ContactMessage
fields = "__all__"

7
content/urls.py Normal file
View File

@@ -0,0 +1,7 @@
from django.urls import path
from .views import get_products, create_contact
urlpatterns = [
path('products/', get_products), # GET
path('contact/', create_contact), # POST
]

View File

@@ -1,3 +1,25 @@
from django.shortcuts import render from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
# Create your views here. from .models import Product, ContactMessage
from .serializers import ProductSerializer, ContactSerializer
# --- GET ALL PRODUCTS ---
@api_view(['GET'])
def get_products(request):
products = Product.objects.all()
serializer = ProductSerializer(products, many=True)
return Response(serializer.data, status=status.HTTP_200_OK)
# --- POST CONTACT FORM ---
@api_view(['POST'])
def create_contact(request):
serializer = ContactSerializer(data=request.data)
if serializer.is_valid():
serializer.save() # DB ga saqlanadi
return Response({"success": True}, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

View File

@@ -38,6 +38,7 @@ INSTALLED_APPS = [
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'rest_framework',
'content', 'content',
] ]

View File

@@ -1,22 +1,5 @@
""" from django.urls import path, include
URL configuration for portfolio_admin project.
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/5.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('api/', include('content.urls')),
] ]