From 658ba85e2b7b8e0bc616c2567225e883e59555da Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Fri, 13 Mar 2026 02:27:56 +0000 Subject: [PATCH] version 16 --- .../__pycache__/settings.cpython-311.pyc | Bin 5967 -> 6065 bytes backend/config/settings.py | 8 ++++---- backend/core/__pycache__/urls.cpython-311.pyc | Bin 823 -> 973 bytes .../core/__pycache__/views.cpython-311.pyc | Bin 1528 -> 1876 bytes backend/core/urls.py | 13 +++++++------ backend/core/views.py | 8 +++++++- 6 files changed, 18 insertions(+), 11 deletions(-) diff --git a/backend/config/__pycache__/settings.cpython-311.pyc b/backend/config/__pycache__/settings.cpython-311.pyc index d78cdfdf1f1a7ba5e7ef4b189301638ad2a728d5..3fe699a2e32eb824c3845cad77b3a25e2341260b 100644 GIT binary patch delta 651 zcmZ{hO>YuG7{_OJhT76nS?ddwmZhx-OI;{Pm&%K%_)=?(2R+UC!Oao_b-@c4W75QU zlZ+P=qQpaOVoYrIJ9w683_ng27HXP#%~XL>&~`y~+YBN4|h zUAug-HycuNzWw9@HtSQ3Nx2~dLfvV>u%v}Sg?S4>Q+ObVv!O!|I4vM>K3~ zQ5JzTTYwB(1eHaFG+1M?`V?ekk8DY-a^2}XLZ^*!S{|X;?*6)eKb?U?#I9nx^BuuL10MiX2;o(wkT1OC`(i%ssck_d;7WFacca- zxi|in$Y7y%)lJR4#;O{AuMLWxYJ8vYRP!)caKD|8;MmUNcMXrm2Bt^#Uv%bwySM4l KynA$^i~jbaXfD%V&i8^Z^3li84$H5OyzSdbrB8Xn4TtY3a*!9e0x>dE@gX}Q7u ztcX+f-$i-K{qbp>`9HNt;iD6B%lTM-=W&>orZ1MB6G?m`GB}S54i#CIcSI?Niw@ut zE;|%g8dQuTdrFe4-n#FV&--P(hSomyE0vT&by?<&kUX+N-nrQUrdi&>(#G>0e6d~f zzF6lxpVwE%6|R_D-met&I-xPCQPh~ym{GX$?d@*6`;|F)8GLD!)d?u=MZK-N$3Xo- Z?@uTKR_)+|cYfw(?eKy}y+TJ7{sOIFeLDaE diff --git a/backend/config/settings.py b/backend/config/settings.py index bb8434d..6522f56 100644 --- a/backend/config/settings.py +++ b/backend/config/settings.py @@ -76,7 +76,7 @@ ROOT_URLCONF = 'config.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], + 'DIRS': [BASE_DIR.parent / 'frontend' / 'dist'], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ @@ -151,8 +151,8 @@ STATIC_ROOT = BASE_DIR / 'staticfiles' STATICFILES_DIRS = [ BASE_DIR / 'static', - BASE_DIR / 'assets', - BASE_DIR / 'node_modules', + BASE_DIR.parent / 'frontend' / 'dist', + BASE_DIR.parent / 'frontend' / 'dist' / 'assets', ] # Email @@ -196,4 +196,4 @@ REST_FRAMEWORK = { 'rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.BasicAuthentication', ], -} +} \ No newline at end of file diff --git a/backend/core/__pycache__/urls.cpython-311.pyc b/backend/core/__pycache__/urls.cpython-311.pyc index 441f01f240fd91f2c9ceb7a8a80eb65682ab09be..0408ddc5dafa7bf6e154c5b5c38009a48b5f20a9 100644 GIT binary patch literal 973 zcma)4&ubGw6rTN=-E1}~3dM_-6cOVgTZk7y?7@QALs1JYtYF#hzNXvmk1)I2+TbC0 zF@lF41g|+oq~82THjqP@i$zbp6?*H*H%TK_DEfBhG4Gpizc=47pG~t!Fpjft{ttnW zpS+lcda*dWgFByyM?4`QpmE!NwMiqZA^q zU3OZ&LB|#8Iq@G_rMr0wsJVxYs{;zSY&vtLVpZhS^ zQAb35S9x2>XR5u$0ci|LBPWdu@UYx72c$k6x1VB_-mL*y7>=8sszlK{OWkYT_3rxN w+Q*jzvpO`Z19^TZ&yQrI^CU0L_g3-;Pjh*BATJN)UlmGw# literal 823 zcma)2ziZo25WXkL`e9c!bTC~?NT7p_u{v}Nh0?4orG^AlXi=n#V@I;gds5R(HC^gL zhYW>g?Bo(McI_Wwg9r1bLZ@toY?*q`jtVIa^mOld@4N55yVEz8y;wja(DW|K?g~{mrGhSY%Vw(CJl*eq-A4jLyog*L0YFD{|UU zFQ2P)U6aNj$o8ex?T2w5VVy~L3-^LN&R(Q>hWuO!)phB%F^-XMck!@|nY{g+r%@he z#k=|>$gq?0qXH<0E1-))T4Gr%q&-+w2?@{YuB=48px;SbIgbU`sSh_O$QnnHz24(N zf`=(TXz}GBf|pdX^oAx7+)`{?1xKOgiX&}~ovxs&x zV{^Da`Ipb(!Q{Hn;ql~V|LN35_dc$DS{s^kFh5k^SC8G3cT@0Y;7!0Qu=2^%DKuu# zm_VbzDkra|(40YY0?ma9C1N! zM-IJ}B`tiow_>9`UG8EPQG{4Kz!mXy^P~khk)Qo%bgK-O|CH@N~Zr7?u$f ztzuBJN{O%FmxGE`3942#s981e)xF|tYB7!cO1#o*;+46+R?jxDlOtpo?sQm_39ACE z>Q`7(39AMy_7&D8k1i8)@)Le~=^a(N;60BElPW{rw)8eHb0>-gR0K${%VPPwMC1*d$(g`+%L`c*5<6BJ4#F6_?;^ z2HbKAV3T|-Pj20KdwZ|kip#A*zI6m%;v!@t+wajm@N5%KEb0+UQm3G{v%${2h|C%%dfQskpuvF*ow$4?^y3tkn% zl{M~0Qso@qR|XuF*nmWfDhBHyca%cg^&KhS5itz`fpW!624yhh0>I|+HDt3f`}u%1 z_gQm~&Btth^Zszw9OS3dnSKVp@Xe2>npWe<;fPt>_!Wfj5HNw_D#G^&KOmqa@gu@d z2q&T&_=>>bmL|Yy(U;%6JYd)M*|j~^j9C*k-#DWg*M4)&wNbxaEV>BWI4in>zAuTM z!vF%-`#I4wZ(bd+xqUXb$F9fhI*NwkA4@c@HL0lKV_IpURCRC7>8*x~vJ;93nokOB z0978j-LUsiU?ZrSfaZmcgKEa^6goO}C~5A?G)N4zM5pVTrBe%CLZ|AzBa|8o^g-|4SKp`i?pyOQ&2F=-PTaZ~e=a&#+1mLh z7hDrgIF&?EMk(Pn?#Y_+n5TT^tAGWV^JSqHI@Jw#Ly=K|e!c0fUI#*&o(I*=IMH#9I7t&O3$5J@5^xsrW)dQBqi8bEBmG_0158V)P qLf8z}{;$hdQ+&-@Fa0C^_> diff --git a/backend/core/urls.py b/backend/core/urls.py index 2ba184a..03d9457 100644 --- a/backend/core/urls.py +++ b/backend/core/urls.py @@ -1,12 +1,13 @@ -from django.urls import path, include +from django.urls import path, include, re_path from rest_framework.routers import DefaultRouter -from .views import SellerViewSet, ProductViewSet, CategoryViewSet +from .views import SellerViewSet, ProductViewSet, CategoryViewSet, serve_frontend router = DefaultRouter() -router.register(r'categories', CategoryViewSet) -router.register(r'sellers', SellerViewSet) -router.register(r'products', ProductViewSet) +router.register(r'api/categories', CategoryViewSet) +router.register(r'api/sellers', SellerViewSet) +router.register(r'api/products', ProductViewSet) urlpatterns = [ path('', include(router.urls)), -] + re_path(r'^(?!api/|admin/).*$', serve_frontend, name='serve_frontend'), +] \ No newline at end of file diff --git a/backend/core/views.py b/backend/core/views.py index 77ccff4..82262ab 100644 --- a/backend/core/views.py +++ b/backend/core/views.py @@ -1,7 +1,13 @@ +import os +from django.shortcuts import render +from django.conf import settings from rest_framework import viewsets from .models import Seller, Product, Category from .serializers import SellerSerializer, ProductSerializer, CategorySerializer +def serve_frontend(request, path=''): + return render(request, 'index.html') + class CategoryViewSet(viewsets.ModelViewSet): queryset = Category.objects.all() serializer_class = CategorySerializer @@ -12,4 +18,4 @@ class SellerViewSet(viewsets.ModelViewSet): class ProductViewSet(viewsets.ModelViewSet): queryset = Product.objects.all() - serializer_class = ProductSerializer \ No newline at end of file + serializer_class = ProductSerializer