api links
This commit is contained in:
BIN
content/__pycache__/serializers.cpython-313.pyc
Normal file
BIN
content/__pycache__/serializers.cpython-313.pyc
Normal file
Binary file not shown.
BIN
content/__pycache__/urls.cpython-313.pyc
Normal file
BIN
content/__pycache__/urls.cpython-313.pyc
Normal file
Binary file not shown.
BIN
content/__pycache__/views.cpython-313.pyc
Normal file
BIN
content/__pycache__/views.cpython-313.pyc
Normal file
Binary file not shown.
14
content/serializers.py
Normal file
14
content/serializers.py
Normal 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
7
content/urls.py
Normal 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
|
||||||
|
]
|
||||||
@@ -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)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -38,6 +38,7 @@ INSTALLED_APPS = [
|
|||||||
'django.contrib.messages',
|
'django.contrib.messages',
|
||||||
'django.contrib.staticfiles',
|
'django.contrib.staticfiles',
|
||||||
|
|
||||||
|
'rest_framework',
|
||||||
'content',
|
'content',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -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')),
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user