From 4ed401ad94f716cc8b3e4068a26c9ef49046de42 Mon Sep 17 00:00:00 2001 From: Samuel Kim <36939842+Chocopepero@users.noreply.github.com> Date: Sat, 14 Sep 2024 04:09:11 +0000 Subject: [PATCH] Basic Webpage up and running --- src/db.sqlite3 | Bin 0 -> 139264 bytes src/djangodemo/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 140 bytes .../__pycache__/settings.cpython-38.pyc | Bin 0 -> 2313 bytes .../__pycache__/urls.cpython-38.pyc | Bin 0 -> 995 bytes .../__pycache__/wsgi.cpython-38.pyc | Bin 0 -> 549 bytes src/djangodemo/settings.py | 122 ++++++++++++++++++ src/djangodemo/urls.py | 24 ++++ src/djangodemo/wsgi.py | 16 +++ src/manage.py | 15 +++ src/pages/__init__.py | 0 src/pages/__pycache__/__init__.cpython-38.pyc | Bin 0 -> 135 bytes src/pages/__pycache__/admin.cpython-38.pyc | Bin 0 -> 176 bytes src/pages/__pycache__/models.cpython-38.pyc | Bin 0 -> 173 bytes src/pages/__pycache__/views.cpython-38.pyc | Bin 0 -> 368 bytes src/pages/admin.py | 3 + src/pages/apps.py | 5 + src/pages/migrations/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 146 bytes src/pages/models.py | 3 + src/pages/tests.py | 3 + src/pages/views.py | 6 + src/products/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 138 bytes src/products/__pycache__/admin.cpython-38.pyc | Bin 0 -> 252 bytes .../__pycache__/models.cpython-38.pyc | Bin 0 -> 588 bytes src/products/admin.py | 6 + src/products/apps.py | 5 + src/products/migrations/0001_initial.py | 24 ++++ .../migrations/0002_auto_20240914_0348.py | 33 +++++ .../migrations/0003_product_featured.py | 19 +++ src/products/migrations/__init__.py | 0 .../__pycache__/0001_initial.cpython-38.pyc | Bin 0 -> 712 bytes .../0002_auto_20240914_0348.cpython-38.pyc | Bin 0 -> 784 bytes .../0003_product_featured.cpython-38.pyc | Bin 0 -> 607 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 0 -> 149 bytes src/products/models.py | 9 ++ src/products/tests.py | 3 + src/products/views.py | 3 + 39 files changed, 299 insertions(+) create mode 100644 src/db.sqlite3 create mode 100644 src/djangodemo/__init__.py create mode 100644 src/djangodemo/__pycache__/__init__.cpython-38.pyc create mode 100644 src/djangodemo/__pycache__/settings.cpython-38.pyc create mode 100644 src/djangodemo/__pycache__/urls.cpython-38.pyc create mode 100644 src/djangodemo/__pycache__/wsgi.cpython-38.pyc create mode 100644 src/djangodemo/settings.py create mode 100644 src/djangodemo/urls.py create mode 100644 src/djangodemo/wsgi.py create mode 100755 src/manage.py create mode 100644 src/pages/__init__.py create mode 100644 src/pages/__pycache__/__init__.cpython-38.pyc create mode 100644 src/pages/__pycache__/admin.cpython-38.pyc create mode 100644 src/pages/__pycache__/models.cpython-38.pyc create mode 100644 src/pages/__pycache__/views.cpython-38.pyc create mode 100644 src/pages/admin.py create mode 100644 src/pages/apps.py create mode 100644 src/pages/migrations/__init__.py create mode 100644 src/pages/migrations/__pycache__/__init__.cpython-38.pyc create mode 100644 src/pages/models.py create mode 100644 src/pages/tests.py create mode 100644 src/pages/views.py create mode 100644 src/products/__init__.py create mode 100644 src/products/__pycache__/__init__.cpython-38.pyc create mode 100644 src/products/__pycache__/admin.cpython-38.pyc create mode 100644 src/products/__pycache__/models.cpython-38.pyc create mode 100644 src/products/admin.py create mode 100644 src/products/apps.py create mode 100644 src/products/migrations/0001_initial.py create mode 100644 src/products/migrations/0002_auto_20240914_0348.py create mode 100644 src/products/migrations/0003_product_featured.py create mode 100644 src/products/migrations/__init__.py create mode 100644 src/products/migrations/__pycache__/0001_initial.cpython-38.pyc create mode 100644 src/products/migrations/__pycache__/0002_auto_20240914_0348.cpython-38.pyc create mode 100644 src/products/migrations/__pycache__/0003_product_featured.cpython-38.pyc create mode 100644 src/products/migrations/__pycache__/__init__.cpython-38.pyc create mode 100644 src/products/models.py create mode 100644 src/products/tests.py create mode 100644 src/products/views.py diff --git a/src/db.sqlite3 b/src/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..3015175a884ef8e225441f2f8df9f7010c024716 GIT binary patch literal 139264 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 literal 0 HcmV?d00001 diff --git a/src/djangodemo/__init__.py b/src/djangodemo/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/djangodemo/__pycache__/__init__.cpython-38.pyc b/src/djangodemo/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..94bddd30013d72c42d6d3c328cd93f9ede8489c6 GIT binary patch literal 140 zcmWIL<>g`kg2Vrwq=D$iAOaaM0yz#qT+9L_QW%06G#UL?G8BP?5yUS;{qp>x?BasN z|N0KhSAAOzDyAB*tN;sbn3m&Ys(Td%jh-TrLWDT|Mzz|J#xv{F=N> zUj=-5gb(`#1qg-!8OXXBBSSLV*`Ma7q)6spXOi2kXsgFF;q0g7+} zN>0HjLK#lNA}qlvI1S5A-Z%kgj1ru61Q6jIoQDhW0bF!Mnt@BNL?>gE;j(cOK7^0b ze2XLpAHU9m^eRg;#u8kCt7v%zuBGymR9>eUM>I~s4dXQ2G?uZNGx(gv=N#NJ&O=rc zDiy1m5rkrW+wz@2VuW+*J51^ap#-T8h!;qMFxVzGmy5+U;*-$g1fd;~e`H*nw9ieiZ{&c`%?htM1oa9f#*zMCuP+S8^%iQqVtKljQ>@A~cj0Z=nj9uckk`q2*a1xLi_gp?FV<+t=pB+mB8##XJ_QExT6SU2TWIhq9b*9&~Pmj3;RDGU2@4aIXx_NGkl&D3HcmeX}8_>M4AJ8i!y$Js^f zBRB2b8lySo_0@Y8;Zl2N+p>3%0`d<}LdzqaLDK7N%5QP(m+(s-hAxY$lR%t!0~aYK z_b>wSVV?qWJtd?*nP$f6v>{${6F1Msx`L2Jw`PMJwUL4JhE8<*7?vT~MWXQN(~0dt z(BMuEi%CZB0iNDsca`xY%mc>rHi2*-+!sMyI2j-Hm3g(|!^!=xS@dspzT}FKudT zjl{m$s3}RS#Nu{9{dl3S=t`1Yi!Uf${i(UGXxe6Hqi#M|nhl)nV4sznN_(xVtf^+L zQ&%x;qotZg2iv01#j+c#U$@7j=IZC|IG5;j16QJBrdm?X&q63+>!jlE)hag14kCbj ztkzS$){)><7TObfC*6DSDUk=GxbU5aN3TmB;&)hJFHwl4!rbM&I45SsTsHI0{ij%Z s=lw6SD2k~jd!T=leVctFz7?0me4;D;gX3~mK&^O0{vj@7mhqkY7nWcRjsO4v literal 0 HcmV?d00001 diff --git a/src/djangodemo/__pycache__/urls.cpython-38.pyc b/src/djangodemo/__pycache__/urls.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..675564f0c71f75a8c0c42fc2d63a6c141292e7bb GIT binary patch literal 995 zcma)5O>fgM7*5jkD{bK~_?AZMVr@4nKtmhTCLs>MF1ciG?6xU!9N7+ITsiYY_)EDW z4*UfUh}TXkMMy}q6z8@5`gxz{v3 zF8318HSwSra6j>F>=#2mN=B~3d^%(!I-=um1BfTgJB$yLuinl}rgZw=i2|ZLfIE*`SaX=u^(_RgA8L zL|jOQ@^ULAw-Bf*7*Px<#?}FXw%58+YmBMLRNNM?q&Tol$C==mmG~?^#adK(rm#uI zP+sBS^=HBXORa;ey37o_wyXs`jnOMg5h+p5D_uqeFbXaTqSVO-gwY=A|5ymUXVMUftx-oh*MMc&Ka!2f zkBLeR$TIqe(M_2ZHOejpOj28hfq2#%X*rFpI|dFC&|a z-$p?*PE)u%X_`Fg_<~F=^Nobt>@>5U2nmnLNoEzT(ibEI-6PV?7us5 z0qeH=eS+_W{HQ9DF@-PfE4hSMf|bm0Tf;mWdpqOmp_x4Ag4P9l=>me9L+3x8yK`?o Hfd0>4XJax{ literal 0 HcmV?d00001 diff --git a/src/djangodemo/__pycache__/wsgi.cpython-38.pyc b/src/djangodemo/__pycache__/wsgi.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bae3ba874d99f445ffaf208251946f09b65ef1f6 GIT binary patch literal 549 zcmYjP!EO^V5cN7~6Bddpwc_k+B)SHU2qBPCq98~QX@!)_#;j*I4qng7b`#ob&;5sT zSUJ0y`yQ}nROBZ$+CO5C%ba*8;w!thRpUQosz-+bx1!=M`Ko?DOJTvv`j9AsZc_V ztg*O+!e?nZ_6)u@=)f_*0Jg0WT8qybm~c$68s(*i6AdfSY$dE}Q%2Mv*?caVMyo=2 zg=RjF{oX~O8Z9toB4*tt7@F8zIaVqSPniQq7v4ASCFc?gmu-pt=TuL|SE2uEEAi|24T$SU*L~2ZkLY9i4;-tk AYXATM literal 0 HcmV?d00001 diff --git a/src/djangodemo/settings.py b/src/djangodemo/settings.py new file mode 100644 index 0000000000..1065c602bf --- /dev/null +++ b/src/djangodemo/settings.py @@ -0,0 +1,122 @@ +""" +Django settings for djangodemo project. + +Generated by 'django-admin startproject' using Django 2.1.7. + +For more information on this file, see +https://docs.djangoproject.com/en/2.1/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/2.1/ref/settings/ +""" + +import os + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'tvtq7q&rrx#rc*9j=3s(*)y!o_bigkyn-lyv59%&y-y=p9)w)=' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'products', + 'pages' +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'djangodemo.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'djangodemo.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/2.1/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + + +# Password validation +# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/2.1/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/2.1/howto/static-files/ + +STATIC_URL = '/static/' diff --git a/src/djangodemo/urls.py b/src/djangodemo/urls.py new file mode 100644 index 0000000000..d9d347e170 --- /dev/null +++ b/src/djangodemo/urls.py @@ -0,0 +1,24 @@ +"""djangodemo URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/2.1/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 + +from pages.views import home_view + +urlpatterns = [ + path('', home_view, name='home'), + path('admin/', admin.site.urls), +] diff --git a/src/djangodemo/wsgi.py b/src/djangodemo/wsgi.py new file mode 100644 index 0000000000..03c2e748ee --- /dev/null +++ b/src/djangodemo/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for djangodemo project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/2.1/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djangodemo.settings') + +application = get_wsgi_application() diff --git a/src/manage.py b/src/manage.py new file mode 100755 index 0000000000..9374b4803a --- /dev/null +++ b/src/manage.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == '__main__': + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djangodemo.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) diff --git a/src/pages/__init__.py b/src/pages/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/pages/__pycache__/__init__.cpython-38.pyc b/src/pages/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..abd4b5fec129672ea2aaf305c36be3080a58a8e9 GIT binary patch literal 135 zcmWIL<>g`kfMlYH($TFC|SQCF&!uvAD@|*SrQ+wS5SG2!zMRBr8Fni4rIz_AZ7pn D7^xk} literal 0 HcmV?d00001 diff --git a/src/pages/__pycache__/admin.cpython-38.pyc b/src/pages/__pycache__/admin.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ad2d1405e679a4717fe08d24ced0e8ac9ee8d9e7 GIT binary patch literal 176 zcmWIL<>g`kf(44TX@fuanW zjJH@5Q*tx&{4|-O_)@YG^V0M6lJoOQiZYXmKnAR2C}IXuVB(jietCXTc5y*sa%!=@ r3s|vBYHq%MaZ$2k5NwuSLFFwDo80`A(wtN~MxgG`K+FIDY}zRk literal 0 HcmV?d00001 diff --git a/src/pages/__pycache__/models.cpython-38.pyc b/src/pages/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a78bfb1e1dd2029c484e7d7fea27f8ee75720106 GIT binary patch literal 173 zcmWIL<>g`kf(44TX@fuanW zjJMcw^HWlDiv2X1ZgHk$CFZ5)>!lk5MqvALFFwD8z8$hC)JJ-sQoh#GXMbmBq&z^ literal 0 HcmV?d00001 diff --git a/src/pages/__pycache__/views.cpython-38.pyc b/src/pages/__pycache__/views.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..10eb0a34a5a2904540a361b5c12ba8c7c635f793 GIT binary patch literal 368 zcmYjMy-veG48F@xX=y4k@Bj=fSsJlN6+?$kMFLewSx}Ta66hrt*(njM@G_lwn_Ce> zUx5ib0;!h#+27|sc{7`x3bMoW`|*?F7n5W2h+LE7C4mx38d1wkO3ppw)qdtv?yKNK zWPu9rL_9iBr`Ssut-7wg)!5nwbu8TobfYvBT>dv+&wfLWV}g!Oyh~c+t>4bm>T0pl z#@LH{3r3|0ap3mYb3qOzy3w}hxEF9j@=u)f7Pi>tg~nw0oHwOi>e?mg`kfMlYH($TFC|SQCF&!wFo0(peSdy8aSF9f&pP83g5+AQuPHello World") \ No newline at end of file diff --git a/src/products/__init__.py b/src/products/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/products/__pycache__/__init__.cpython-38.pyc b/src/products/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..87523080631f7d3801856e8b019b37e1a23fdbeb GIT binary patch literal 138 zcmWIL<>g`k0uJVzdXMvySN}R zIki~dB`Yy6J>MlYH($TFC|SRtC_kk%xujS>K0Y%qvm`!Vub}c4hfOX}G$+*#WYA|I GW&i*^pdO)nM~-8h`(8neks>w4}QUe*b^@n zbT?HLRsB7kjs@cp|L@Oy|2%nzVzT0)880J@tc8`Cl)?l?)qz!+k^Ryz#X(#O^rs0l+)LaI9G6NIv& z4)7{4VR=~hxjs4kp*Amo^m<5IgLRs)(Cw>)^w7O%&wcXAxyKro{txou6Ez8*njk*| literal 0 HcmV?d00001 diff --git a/src/products/__pycache__/models.cpython-38.pyc b/src/products/__pycache__/models.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3adda2b35e219d8050b229f61ab5bc1fce6fb1dc GIT binary patch literal 588 zcmYjPy>8qv43;eW&USo3m-Yd&1Rff{Kv5L!Apr^`D9~i_A}FSE(MA5LWTTh4UGom< z*jLh8bhuaORLTO9P>?|KqdtnHu2!p@pd4p^Zw5-pA8)*r7>y6O?GYY8fNIjxno@E` zAOiN20F!hZ{a`hN_$w)sJ;srex<%WA)VA^FOL-#vj9y7<3Z#xC+r~g4dZ2ZJ`T`iP z_#vv7Xr++A0+wiHGnPU+W4UCH2fs*NK!%BPxBOyyn3{3FLuPzI-ijU9vfGTemu2LV zYc0Av7k87^`v^nSt7D9d+#$$DwLaT57b7D_Vl7$xs>xxw32g|bB4-P6neI>6UhCTVd{9 z@v-l<6kR~m8!5)gNcc_6YfLjA|K3*Ldvj+8|Ke)B72T#^%eJqqX{sUg!B$}eC&RsA zc+q#>`e~=MpojCC{TF5IGMFh&;5w9&ocrm`@N?3jy+H<-z6*_bkAH?(Uwy&;17}#7 Ag8%>k literal 0 HcmV?d00001 diff --git a/src/products/admin.py b/src/products/admin.py new file mode 100644 index 0000000000..760465bbda --- /dev/null +++ b/src/products/admin.py @@ -0,0 +1,6 @@ +from django.contrib import admin + +# Register your models here. +from .models import Product + +admin.site.register(Product) diff --git a/src/products/apps.py b/src/products/apps.py new file mode 100644 index 0000000000..864c43ed85 --- /dev/null +++ b/src/products/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class ProductsConfig(AppConfig): + name = 'products' diff --git a/src/products/migrations/0001_initial.py b/src/products/migrations/0001_initial.py new file mode 100644 index 0000000000..72bb27f48c --- /dev/null +++ b/src/products/migrations/0001_initial.py @@ -0,0 +1,24 @@ +# Generated by Django 2.1.7 on 2024-09-14 03:32 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Product', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.TextField()), + ('description', models.TextField()), + ('price', models.TextField()), + ('summary', models.TextField(default='test line!')), + ], + ), + ] diff --git a/src/products/migrations/0002_auto_20240914_0348.py b/src/products/migrations/0002_auto_20240914_0348.py new file mode 100644 index 0000000000..daa0f97b7a --- /dev/null +++ b/src/products/migrations/0002_auto_20240914_0348.py @@ -0,0 +1,33 @@ +# Generated by Django 2.1.7 on 2024-09-14 03:48 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('products', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='product', + name='description', + field=models.TextField(blank=True, null=True), + ), + migrations.AlterField( + model_name='product', + name='price', + field=models.DecimalField(decimal_places=2, max_digits=10000), + ), + migrations.AlterField( + model_name='product', + name='summary', + field=models.TextField(), + ), + migrations.AlterField( + model_name='product', + name='title', + field=models.CharField(max_length=120), + ), + ] diff --git a/src/products/migrations/0003_product_featured.py b/src/products/migrations/0003_product_featured.py new file mode 100644 index 0000000000..556bcf00c1 --- /dev/null +++ b/src/products/migrations/0003_product_featured.py @@ -0,0 +1,19 @@ +# Generated by Django 2.1.7 on 2024-09-14 03:51 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('products', '0002_auto_20240914_0348'), + ] + + operations = [ + migrations.AddField( + model_name='product', + name='featured', + field=models.BooleanField(default=True), + preserve_default=False, + ), + ] diff --git a/src/products/migrations/__init__.py b/src/products/migrations/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/products/migrations/__pycache__/0001_initial.cpython-38.pyc b/src/products/migrations/__pycache__/0001_initial.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d8eb29c9636846e5b0433b13516443ad44065101 GIT binary patch literal 712 zcmYjPy>8S%5Z+y{&p&q;C@3gEf(GfD_~=m-#3_g(5fY(sV>zC=(_Z|?t_@t;&|bkC zK*=j@izs*nkbqfVNHVJ#&3I>LzWK&)r_-2`d=7prF9l=YU2t0@1&5^O2^nC(OIGoe zS0WXhy<{N3`^3OQzVR9Q@E?!;@TgQ8X$u# z<-k$_JoQ#AmFTZWt_23`5I7wPK8&_a)gRR_7I3zf)a_b_{3=ty(v<_334SHZXnV3S7h;n(k4lYJ5E7HUM1aec2IF zawsucDlEaA%*Hm%hN@X+<18cQ`Vz^XWZAnuFI_T4fvQzUSnLF_#Tu|K6dFxiWOn>w z0DtT_*PiT|1#!ZV?8~Vod1450^KHcHTp(X2WMYLJr(q#*KT|`v+r9#r6OI literal 0 HcmV?d00001 diff --git a/src/products/migrations/__pycache__/0002_auto_20240914_0348.cpython-38.pyc b/src/products/migrations/__pycache__/0002_auto_20240914_0348.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..feabdc3e6fad99b4ef0458503c20837b8a6bf75f GIT binary patch literal 784 zcmZWnOK;RL5O!Xh$L^N>2XF%AvPqXcfP_#HD-Z{IppU7KVta<`{s%br zFZqf%^u`&ff^pKNi?HR<%y>rM_l^B=It>V}Yxl<)wFvpHgZ*V=aD+!bMgs&4K?)-= z3NtYc@|J)J))xX6GuGB;E3v@-KtksRYe{ITpx}9vw!A8(8Wj~VAv1lozkCdi@W>Jk zBZ&bdF~P`<#A5c^(Ex0;cEQH&Y)u$#cX=1{9(dqG@K1isMqk};WUq39l|D@2U~A}X zZYKdeK%z6{zuz%Lx?bH>&}FSulQ@nKDKB};Q=#0uycz?OS;K3s=mZ;_Q<0Vz$}T%0 zLJQ?;iL^`$hB*=}@SGs%Cc&c}<#!*w&k0@1jptb0KRjAzH1| zGOt#ws3O^9(QcU0{U?ZUtP7fUZABOHVi`X_T+;aI^4Yw;YV=1N;gNGRo@M^F9osN* xPj3JBMt^g`t^Kp_Jq~T5jR5S46sS8EaorKSI%u$Q&7*+UDZq$MP$zqT-mAn^8hm za9~9Qe8r0x#U=>^INFRsKyuAt1mkN#m;^~g6F)iMF%X?>t%1JmT=6o`^SRP}XVg5O zFY-5s3zZ)&UiSp-m zQ`6#hYQLF%P7Oo4JIlTsd+AzTqRUP;x>=bMtWD-@neCisj}y;m21jZOsGZ$e`@@De z4P$rDD9Jdw7m45zeJPLriTeS+pixX|W44UcPg`kf<*SGX(0MBh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6vCzdXMvySN}R zIki~dB`Yy6J>MlYH($TFC|SRtC_kk%xujS>H#5B`u_QA;uUJ1mJ~J<~BtBlRpz;=n RO)gMDPO2Tq%+El~0003tBX