django project distribute api in react not showing image
here is everything related
INSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘corsheaders’,
‘rest_framework’,
‘drf_yasg’,
‘db_email’,
]
MIDDLEWARE = [
‘django.middleware.security.SecurityMiddleware’,
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘corsheaders.middleware.CorsMiddleware’,
‘django.middleware.common.CommonMiddleware’,
‘django.middleware.csrf.CsrfViewMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,
‘django.contrib.messages.middleware.MessageMiddleware’,
‘django.middleware.clickjacking.XFrameOptionsMiddleware’,
]
STATIC_URL = ‘/static/’
Default primary key field type
Settings | Django documentation | Django
DEFAULT_AUTO_FIELD = ‘django.db.models.BigAutoField’
CORS_ALLOW_ALL_ORIGINS = True
django==4.2
djangorestframework
drf_yasg
django-cors-headers
Pillow
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path, include
from rest_framework import permissions
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
schema_view = get_schema_view(
openapi.Info(
title=“Snippets API”,
default_version=‘v1’,
description=“Test description”,
contact=openapi.Contact(email=“contact@snippets.local”),
license=openapi.License(name=“BSD License”),
),
public=True,
permission_classes=[permissions.AllowAny],
)
doc_urlpatterns = [
path(‘swagger/’, schema_view.with_ui(‘swagger’, cache_timeout=0)),
path(‘redoc/’, schema_view.with_ui(‘redoc’, cache_timeout=0)),
]
urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘email/’, include(‘db_email.urls’))
] + doc_urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
class Product(models.Model):
name = models.CharField(max_length=100)
image = models.ImageField()
class Meta:
verbose_name = 'Продукт'
verbose_name_plural = 'Продукты'
def __str__(self):
return self.name
class ProductAPIVIew(generics.ListAPIView):
queryset = Product.objects.all()
serializer_class = ProductSerializers
urlpatterns = [
path(‘email/api/’, views.EmailAPIVIew.as_view(), name=‘email’),
path(‘product/api/’, views.ProductAPIVIew.as_view(), name=‘product’)
]