diff --git a/back/api/admin.py b/back/api/admin.py index fd67800..c2981f8 100644 --- a/back/api/admin.py +++ b/back/api/admin.py @@ -1,5 +1,5 @@ from django.contrib import admin -from .models import Product +from .models import Product # Register your models here. -admin.site.register(Product) +admin.site.register(Product) \ No newline at end of file diff --git a/back/api/migrations/0007_alter_product_image1_alter_product_image2_and_more.py b/back/api/migrations/0007_alter_product_image1_alter_product_image2_and_more.py new file mode 100644 index 0000000..023aa0a --- /dev/null +++ b/back/api/migrations/0007_alter_product_image1_alter_product_image2_and_more.py @@ -0,0 +1,33 @@ +# Generated by Django 5.0.6 on 2024-06-25 11:37 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('api', '0006_product_image2_product_image3'), + ] + + operations = [ + migrations.AlterField( + model_name='product', + name='image1', + field=models.ImageField(blank=True, default=None, null=True, upload_to='files'), + ), + migrations.AlterField( + model_name='product', + name='image2', + field=models.ImageField(blank=True, default=None, null=True, upload_to='files'), + ), + migrations.AlterField( + model_name='product', + name='image3', + field=models.ImageField(blank=True, default=None, null=True, upload_to='files'), + ), + migrations.AlterField( + model_name='product', + name='model3d', + field=models.FileField(blank=True, default=None, null=True, upload_to='files'), + ), + ] diff --git a/back/api/migrations/0008_element3d_image_clickablearea.py b/back/api/migrations/0008_element3d_image_clickablearea.py new file mode 100644 index 0000000..08e9f9a --- /dev/null +++ b/back/api/migrations/0008_element3d_image_clickablearea.py @@ -0,0 +1,42 @@ +# Generated by Django 5.0.6 on 2024-06-25 11:43 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('api', '0007_alter_product_image1_alter_product_image2_and_more'), + ] + + operations = [ + migrations.CreateModel( + name='Element3D', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('model_file', models.FileField(upload_to='models/')), + ('name', models.CharField(max_length=255)), + ('description', models.TextField()), + ], + ), + migrations.CreateModel( + name='Image', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('file', models.ImageField(upload_to='images/')), + ('alt', models.CharField(max_length=255)), + ('title', models.CharField(max_length=255)), + ], + ), + migrations.CreateModel( + name='ClickableArea', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('description', models.TextField()), + ('object_name', models.CharField(max_length=255)), + ('target', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='clickable_areas', to='api.element3d')), + ], + ), + ] diff --git a/back/api/migrations/0009_remove_clickablearea_target_delete_image_and_more.py b/back/api/migrations/0009_remove_clickablearea_target_delete_image_and_more.py new file mode 100644 index 0000000..1618e7e --- /dev/null +++ b/back/api/migrations/0009_remove_clickablearea_target_delete_image_and_more.py @@ -0,0 +1,26 @@ +# Generated by Django 5.0.6 on 2024-06-25 11:54 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('api', '0008_element3d_image_clickablearea'), + ] + + operations = [ + migrations.RemoveField( + model_name='clickablearea', + name='target', + ), + migrations.DeleteModel( + name='Image', + ), + migrations.DeleteModel( + name='ClickableArea', + ), + migrations.DeleteModel( + name='Element3D', + ), + ] diff --git a/back/api/models.py b/back/api/models.py index 9eec436..e9d63dc 100644 --- a/back/api/models.py +++ b/back/api/models.py @@ -1,6 +1,9 @@ from django.db import models +from django.db import models + + # Create your models here. class Product(models.Model): title = models.CharField(max_length=100) @@ -20,3 +23,5 @@ class Product(models.Model): def __str__(self): return self.title + + diff --git a/back/back/settings.py b/back/back/settings.py index afa0c4f..05fbc34 100644 --- a/back/back/settings.py +++ b/back/back/settings.py @@ -71,6 +71,7 @@ INSTALLED_APPS = [ "corsheaders", "api", "rest_framework", + "frontImages", ] MIDDLEWARE = [ diff --git a/back/frontImages/__init__.py b/back/frontImages/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/back/frontImages/admin.py b/back/frontImages/admin.py new file mode 100644 index 0000000..267dd60 --- /dev/null +++ b/back/frontImages/admin.py @@ -0,0 +1,6 @@ +from django.contrib import admin +from .models import Image, Element3D, ClickableArea + +admin.site.register(Image) +admin.site.register(Element3D) +admin.site.register(ClickableArea) \ No newline at end of file diff --git a/back/frontImages/apps.py b/back/frontImages/apps.py new file mode 100644 index 0000000..b98d5d3 --- /dev/null +++ b/back/frontImages/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class FrontimagesConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'frontImages' diff --git a/back/frontImages/migrations/0001_initial.py b/back/frontImages/migrations/0001_initial.py new file mode 100644 index 0000000..5d7fec3 --- /dev/null +++ b/back/frontImages/migrations/0001_initial.py @@ -0,0 +1,43 @@ +# Generated by Django 5.0.6 on 2024-06-25 11:54 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Element3D', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('model_file', models.FileField(upload_to='models/')), + ('name', models.CharField(max_length=255)), + ('description', models.TextField()), + ], + ), + migrations.CreateModel( + name='Image', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('file', models.ImageField(upload_to='images/')), + ('alt', models.CharField(max_length=255)), + ('title', models.CharField(max_length=255)), + ], + ), + migrations.CreateModel( + name='ClickableArea', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('description', models.TextField()), + ('object_name', models.CharField(max_length=255)), + ('target', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='clickable_areas', to='frontImages.element3d')), + ], + ), + ] diff --git a/back/frontImages/migrations/__init__.py b/back/frontImages/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/back/frontImages/models.py b/back/frontImages/models.py new file mode 100644 index 0000000..88533d1 --- /dev/null +++ b/back/frontImages/models.py @@ -0,0 +1,27 @@ +from django.db import models + +class Image(models.Model): + file = models.ImageField(upload_to='images/') + alt = models.CharField(max_length=255) + title = models.CharField(max_length=255) + + def __str__(self): + return self.title + + +class Element3D(models.Model): + model_file = models.FileField(upload_to='models/') + name = models.CharField(max_length=255) + description = models.TextField() + + def __str__(self): + return self.name + +class ClickableArea(models.Model): + name = models.CharField(max_length=255) + description = models.TextField() + object_name = models.CharField(max_length=255) + target = models.ForeignKey(Element3D, on_delete=models.CASCADE, related_name='clickable_areas') + + def __str__(self): + return self.name \ No newline at end of file diff --git a/back/frontImages/tests.py b/back/frontImages/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/back/frontImages/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/back/frontImages/views.py b/back/frontImages/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/back/frontImages/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here.