diff --git a/pages/__init__.py b/pages/__init__.py
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/pages/__pycache__/__init__.cpython-312.pyc b/pages/__pycache__/__init__.cpython-312.pyc
new file mode 100644
index 00000000000..3ddb928a8ad
Binary files /dev/null and b/pages/__pycache__/__init__.cpython-312.pyc differ
diff --git a/pages/__pycache__/admin.cpython-312.pyc b/pages/__pycache__/admin.cpython-312.pyc
new file mode 100644
index 00000000000..a38dcdd4b6e
Binary files /dev/null and b/pages/__pycache__/admin.cpython-312.pyc differ
diff --git a/pages/__pycache__/apps.cpython-312.pyc b/pages/__pycache__/apps.cpython-312.pyc
new file mode 100644
index 00000000000..f1cd3ee44d1
Binary files /dev/null and b/pages/__pycache__/apps.cpython-312.pyc differ
diff --git a/pages/__pycache__/models.cpython-312.pyc b/pages/__pycache__/models.cpython-312.pyc
new file mode 100644
index 00000000000..eb213aebedd
Binary files /dev/null and b/pages/__pycache__/models.cpython-312.pyc differ
diff --git a/pages/__pycache__/views.cpython-312.pyc b/pages/__pycache__/views.cpython-312.pyc
new file mode 100644
index 00000000000..6eee8666f91
Binary files /dev/null and b/pages/__pycache__/views.cpython-312.pyc differ
diff --git a/pages/admin.py b/pages/admin.py
new file mode 100644
index 00000000000..8c38f3f3dad
--- /dev/null
+++ b/pages/admin.py
@@ -0,0 +1,3 @@
+from django.contrib import admin
+
+# Register your models here.
diff --git a/pages/apps.py b/pages/apps.py
new file mode 100644
index 00000000000..acdb960739b
--- /dev/null
+++ b/pages/apps.py
@@ -0,0 +1,5 @@
+from django.apps import AppConfig
+
+
+class PagesConfig(AppConfig):
+ name = 'pages'
diff --git a/pages/migrations/__init__.py b/pages/migrations/__init__.py
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/pages/migrations/__pycache__/__init__.cpython-312.pyc b/pages/migrations/__pycache__/__init__.cpython-312.pyc
new file mode 100644
index 00000000000..bc0ea3babe2
Binary files /dev/null and b/pages/migrations/__pycache__/__init__.cpython-312.pyc differ
diff --git a/pages/models.py b/pages/models.py
new file mode 100644
index 00000000000..71a83623907
--- /dev/null
+++ b/pages/models.py
@@ -0,0 +1,3 @@
+from django.db import models
+
+# Create your models here.
diff --git a/pages/tests.py b/pages/tests.py
new file mode 100644
index 00000000000..7ce503c2dd9
--- /dev/null
+++ b/pages/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/pages/views.py b/pages/views.py
new file mode 100644
index 00000000000..86aea120381
--- /dev/null
+++ b/pages/views.py
@@ -0,0 +1,6 @@
+from django.http import HttpResponse
+from django.shortcuts import render
+
+# Create your views here.
+def home_view(*args, **kwargs):
+ return HttpResponse("
Hello World
")
\ No newline at end of file
diff --git a/products/__init__.py b/products/__init__.py
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/products/__pycache__/__init__.cpython-312.pyc b/products/__pycache__/__init__.cpython-312.pyc
new file mode 100644
index 00000000000..9b63a007d78
Binary files /dev/null and b/products/__pycache__/__init__.cpython-312.pyc differ
diff --git a/products/__pycache__/admin.cpython-312.pyc b/products/__pycache__/admin.cpython-312.pyc
new file mode 100644
index 00000000000..b22eda3aecd
Binary files /dev/null and b/products/__pycache__/admin.cpython-312.pyc differ
diff --git a/products/__pycache__/apps.cpython-312.pyc b/products/__pycache__/apps.cpython-312.pyc
new file mode 100644
index 00000000000..eac619edd91
Binary files /dev/null and b/products/__pycache__/apps.cpython-312.pyc differ
diff --git a/products/__pycache__/models.cpython-312.pyc b/products/__pycache__/models.cpython-312.pyc
new file mode 100644
index 00000000000..e43616e7064
Binary files /dev/null and b/products/__pycache__/models.cpython-312.pyc differ
diff --git a/products/admin.py b/products/admin.py
new file mode 100644
index 00000000000..773b3a1c15d
--- /dev/null
+++ b/products/admin.py
@@ -0,0 +1,6 @@
+from django.contrib import admin
+
+# Register your models here.
+from .models import Product
+
+admin.site.register(Product)
\ No newline at end of file
diff --git a/products/apps.py b/products/apps.py
new file mode 100644
index 00000000000..864c43ed858
--- /dev/null
+++ b/products/apps.py
@@ -0,0 +1,5 @@
+from django.apps import AppConfig
+
+
+class ProductsConfig(AppConfig):
+ name = 'products'
diff --git a/products/migrations/0001_initial.py b/products/migrations/0001_initial.py
new file mode 100644
index 00000000000..3a2d906f552
--- /dev/null
+++ b/products/migrations/0001_initial.py
@@ -0,0 +1,24 @@
+# Generated by Django 6.0.2 on 2026-02-24 00:06
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Product',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('title', models.CharField(max_length=120)),
+ ('description', models.TextField(blank=True, null=True)),
+ ('price', models.DecimalField(decimal_places=2, max_digits=10000)),
+ ('summary', models.TextField()),
+ ],
+ ),
+ ]
diff --git a/products/migrations/0002_product_featured.py b/products/migrations/0002_product_featured.py
new file mode 100644
index 00000000000..bf84ab2ad90
--- /dev/null
+++ b/products/migrations/0002_product_featured.py
@@ -0,0 +1,18 @@
+# Generated by Django 6.0.2 on 2026-02-24 00:22
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('products', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='product',
+ name='featured',
+ field=models.BooleanField(default=False),
+ ),
+ ]
diff --git a/products/migrations/0003_alter_product_featured.py b/products/migrations/0003_alter_product_featured.py
new file mode 100644
index 00000000000..529ab3f64c5
--- /dev/null
+++ b/products/migrations/0003_alter_product_featured.py
@@ -0,0 +1,18 @@
+# Generated by Django 6.0.2 on 2026-02-24 00:23
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('products', '0002_product_featured'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='product',
+ name='featured',
+ field=models.BooleanField(),
+ ),
+ ]
diff --git a/products/migrations/0004_remove_product_featured.py b/products/migrations/0004_remove_product_featured.py
new file mode 100644
index 00000000000..5a83dc0f052
--- /dev/null
+++ b/products/migrations/0004_remove_product_featured.py
@@ -0,0 +1,17 @@
+# Generated by Django 6.0.2 on 2026-02-24 00:23
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('products', '0003_alter_product_featured'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='product',
+ name='featured',
+ ),
+ ]
diff --git a/products/migrations/0005_product_featured.py b/products/migrations/0005_product_featured.py
new file mode 100644
index 00000000000..4ea5246d219
--- /dev/null
+++ b/products/migrations/0005_product_featured.py
@@ -0,0 +1,19 @@
+# Generated by Django 6.0.2 on 2026-02-24 00:23
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('products', '0004_remove_product_featured'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='product',
+ name='featured',
+ field=models.BooleanField(default=False),
+ preserve_default=False,
+ ),
+ ]
diff --git a/products/migrations/0006_alter_product_featured_alter_product_summary.py b/products/migrations/0006_alter_product_featured_alter_product_summary.py
new file mode 100644
index 00000000000..0675c834087
--- /dev/null
+++ b/products/migrations/0006_alter_product_featured_alter_product_summary.py
@@ -0,0 +1,23 @@
+# Generated by Django 6.0.2 on 2026-02-24 00:34
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('products', '0005_product_featured'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='product',
+ name='featured',
+ field=models.BooleanField(default=False),
+ ),
+ migrations.AlterField(
+ model_name='product',
+ name='summary',
+ field=models.TextField(blank=True),
+ ),
+ ]
diff --git a/products/migrations/__init__.py b/products/migrations/__init__.py
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/products/migrations/__pycache__/0001_initial.cpython-312.pyc b/products/migrations/__pycache__/0001_initial.cpython-312.pyc
new file mode 100644
index 00000000000..dd3a0f281c0
Binary files /dev/null and b/products/migrations/__pycache__/0001_initial.cpython-312.pyc differ
diff --git a/products/migrations/__pycache__/0002_product_featured.cpython-312.pyc b/products/migrations/__pycache__/0002_product_featured.cpython-312.pyc
new file mode 100644
index 00000000000..37a73d8d8c0
Binary files /dev/null and b/products/migrations/__pycache__/0002_product_featured.cpython-312.pyc differ
diff --git a/products/migrations/__pycache__/0003_alter_product_featured.cpython-312.pyc b/products/migrations/__pycache__/0003_alter_product_featured.cpython-312.pyc
new file mode 100644
index 00000000000..605febe7b47
Binary files /dev/null and b/products/migrations/__pycache__/0003_alter_product_featured.cpython-312.pyc differ
diff --git a/products/migrations/__pycache__/0004_remove_product_featured.cpython-312.pyc b/products/migrations/__pycache__/0004_remove_product_featured.cpython-312.pyc
new file mode 100644
index 00000000000..2306f4eeb9c
Binary files /dev/null and b/products/migrations/__pycache__/0004_remove_product_featured.cpython-312.pyc differ
diff --git a/products/migrations/__pycache__/0005_product_featured.cpython-312.pyc b/products/migrations/__pycache__/0005_product_featured.cpython-312.pyc
new file mode 100644
index 00000000000..5430799c0ca
Binary files /dev/null and b/products/migrations/__pycache__/0005_product_featured.cpython-312.pyc differ
diff --git a/products/migrations/__pycache__/0006_alter_product_featured_alter_product_summary.cpython-312.pyc b/products/migrations/__pycache__/0006_alter_product_featured_alter_product_summary.cpython-312.pyc
new file mode 100644
index 00000000000..f6f79a78b7e
Binary files /dev/null and b/products/migrations/__pycache__/0006_alter_product_featured_alter_product_summary.cpython-312.pyc differ
diff --git a/products/migrations/__pycache__/__init__.cpython-312.pyc b/products/migrations/__pycache__/__init__.cpython-312.pyc
new file mode 100644
index 00000000000..103711950fb
Binary files /dev/null and b/products/migrations/__pycache__/__init__.cpython-312.pyc differ
diff --git a/products/models.py b/products/models.py
new file mode 100644
index 00000000000..00f4eb20bf3
--- /dev/null
+++ b/products/models.py
@@ -0,0 +1,11 @@
+from django.db import models
+
+# Create your models here.
+# models.Model is the base class for all models in Django. It provides a lot of functionality, such as saving to the database, querying, etc.
+# You put this in the paranthesis for inheritance. To tell Django that this is a model, you need to inherit from models.Model.
+class Product(models.Model):
+ title = models.CharField(max_length=120)
+ description = models.TextField(blank = True, null = True)
+ price = models.DecimalField(blank = False, decimal_places=2, max_digits=10000)
+ summary = models.TextField(blank = True)
+ featured = models.BooleanField(default=False)
\ No newline at end of file
diff --git a/products/tests.py b/products/tests.py
new file mode 100644
index 00000000000..7ce503c2dd9
--- /dev/null
+++ b/products/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/products/views.py b/products/views.py
new file mode 100644
index 00000000000..91ea44a218f
--- /dev/null
+++ b/products/views.py
@@ -0,0 +1,3 @@
+from django.shortcuts import render
+
+# Create your views here.
diff --git a/trydjango/urls.py b/trydjango/urls.py
new file mode 100644
index 00000000000..eac6b7eb0d7
--- /dev/null
+++ b/trydjango/urls.py
@@ -0,0 +1,26 @@
+"""trydjango 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
+from pages.views import product_view
+
+
+urlpatterns = [
+ path('', home_view, name='home'),
+ path('products/', product_view, name='products'),
+ path('admin/', admin.site.urls),
+]