diff --git a/.DS_Store b/.DS_Store index 341d88379..db8d77e92 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/work/.DS_Store b/work/.DS_Store new file mode 100644 index 000000000..8383580ee Binary files /dev/null and b/work/.DS_Store differ diff --git a/work/K3322/.DS_Store b/work/K3322/.DS_Store new file mode 100644 index 000000000..68936ee9f Binary files /dev/null and b/work/K3322/.DS_Store differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/.DS_Store" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/.DS_Store" new file mode 100644 index 000000000..03f4bb1c0 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/.DS_Store" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/.DS_Store" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/.DS_Store" new file mode 100644 index 000000000..fce3b5438 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/.DS_Store" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/.DS_Store" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/.DS_Store" new file mode 100644 index 000000000..f285a6c1b Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/.DS_Store" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/__init__.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/__init__.py" new file mode 100644 index 000000000..e69de29bb diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/db.sqlite3" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/db.sqlite3" new file mode 100644 index 000000000..856237ce5 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/db.sqlite3" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/admin.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/admin.cpython-313.pyc" new file mode 100644 index 000000000..970a1a6f6 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/admin.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/forms.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/forms.cpython-313.pyc" new file mode 100644 index 000000000..59a9ca332 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/forms.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/models.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/models.cpython-313.pyc" new file mode 100644 index 000000000..739d79495 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/models.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/urls.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/urls.cpython-313.pyc" new file mode 100644 index 000000000..f8e872331 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/urls.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/views.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/views.cpython-313.pyc" new file mode 100644 index 000000000..e3fd100d9 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/__pycache__/views.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/admin.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/admin.py" new file mode 100644 index 000000000..9e6cfa2ad --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/admin.py" @@ -0,0 +1,6 @@ +from django.contrib import admin +from .models import Product +from .models import ContactMessage + +admin.site.register(Product) +admin.site.register(ContactMessage) \ No newline at end of file diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/forms.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/forms.py" new file mode 100644 index 000000000..2d49d0d94 --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/forms.py" @@ -0,0 +1,17 @@ +from django import forms +from .models import ContactMessage + +class ContactForm(forms.ModelForm): + class Meta: + model = ContactMessage + fields = ['name', 'email', 'message'] + labels = { + 'name': 'Ваше имя', + 'email': 'Электронная почта', + 'message': 'Сообщение', + } + widgets = { + 'name': forms.TextInput(attrs={'placeholder': 'Введите ваше имя'}), + 'email': forms.EmailInput(attrs={'placeholder': 'Введите email'}), + 'message': forms.Textarea(attrs={'placeholder': 'Ваше сообщение'}), + } diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/0001_initial.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/0001_initial.py" new file mode 100644 index 000000000..dc02835bb --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/0001_initial.py" @@ -0,0 +1,35 @@ +# Generated by Django 5.2.1 on 2025-05-19 10:29 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='ContactMessage', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100)), + ('email', models.EmailField(max_length=254)), + ('message', models.TextField()), + ], + ), + migrations.CreateModel( + name='Product', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100)), + ('price', models.PositiveIntegerField()), + ('size', models.CharField(choices=[('XXS', 'Double Extra Small'), ('XS', 'Extra Small'), ('S', 'Small'), ('M', 'Medium'), ('L', 'Large'), ('XL', 'Extra Large'), ('XXL', 'Double Extra Large')], default='M', max_length=3)), + ('color', models.CharField(choices=[('red', 'Red'), ('white', 'White'), ('black', 'Black'), ('grey', 'Grey')], default='white', max_length=10)), + ('image', models.ImageField(upload_to='cars/')), + ('category', models.CharField(choices=[('t', 'T-shirt'), ('h', 'Hoodies')], default='t', max_length=10)), + ], + ), + ] diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/0002_alter_product_category.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/0002_alter_product_category.py" new file mode 100644 index 000000000..0457866dc --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/0002_alter_product_category.py" @@ -0,0 +1,18 @@ +# Generated by Django 5.2.1 on 2025-05-19 10:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('dealership', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='product', + name='category', + field=models.CharField(choices=[('t', 'T-shirt'), ('h', 'Hoodies')], default='t-s', max_length=10), + ), + ] diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__init__.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__init__.py" new file mode 100644 index 000000000..e69de29bb diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__pycache__/0001_initial.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__pycache__/0001_initial.cpython-313.pyc" new file mode 100644 index 000000000..fc87e4420 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__pycache__/0001_initial.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__pycache__/0002_alter_product_category.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__pycache__/0002_alter_product_category.cpython-313.pyc" new file mode 100644 index 000000000..a654d9317 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__pycache__/0002_alter_product_category.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__pycache__/0002_car_category.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__pycache__/0002_car_category.cpython-313.pyc" new file mode 100644 index 000000000..c2d62291f Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__pycache__/0002_car_category.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__pycache__/__init__.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__pycache__/__init__.cpython-313.pyc" new file mode 100644 index 000000000..0712bedce Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/migrations/__pycache__/__init__.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/models.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/models.py" new file mode 100644 index 000000000..f1239ed3a --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/models.py" @@ -0,0 +1,40 @@ +from django.db import models + +class ContactMessage(models.Model): + name = models.CharField(max_length=100) + email = models.EmailField() + message = models.TextField() + + def __str__(self): + return f"Message from {self.name}" + + +class Product(models.Model): + SIZES = [ + ('XXS', 'Double Extra Small'), + ('XS', 'Extra Small'), + ('S', 'Small'), + ('M', 'Medium'), + ('L', 'Large'), + ('XL', 'Extra Large'), + ('XXL', 'Double Extra Large'), + ] + + COLORS = [ + ('red', 'Red'), + ('white', 'White'), + ('black', 'Black'), + ('grey', 'Grey'), + ] + + + name = models.CharField(max_length=100) + price = models.PositiveIntegerField() + size = models.CharField(max_length=3, choices=SIZES, default='M') + color = models.CharField(max_length=10, choices=COLORS, default='white') + image = models.ImageField(upload_to='cars/') + category = models.CharField(max_length=10, choices=[('t', 'T-shirt'), ('h', 'Hoodies')], default='t-s') + + def __str__(self): + return self.name + diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/about.html" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/about.html" new file mode 100644 index 000000000..df3f765f4 --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/about.html" @@ -0,0 +1,18 @@ +{% extends 'base.html' %} + +{% block title %}О компании - Автомобили Баварии{% endblock %} + +{% block content %} +
+

О компании

+

+ «SHOP AVANGARD» — официальный магазин хоккейной атрибутики хк "Авангард" в России. Уже более 20 лет мы с гордостью представляем легендарный хоккейный клуб на отечественном рынке, сочетая уже привычные коллекции с новыми интересными решениями. +

+

+ Мы располагаем широкой сетью магазинов по всей стране, от Москвы до Владивостока. В каждом из наших магазинов вас встретит профессиональная команда, готовая помочь в выборе идеального мерча и предложить индивидуальные условия покупки, учитывая вашу активность в приложении. +

+

+ Все товары, приобретённые у нас, имеют официальную гарантию качества сроком 3 месяца. Мы уверены в качестве продукции SHOP AVANGARD и поддерживаем клиентов на всех этапах покупки — от регистрации до получения в магазинах на местах. +

+
+{% endblock %} diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/base.html" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/base.html" new file mode 100644 index 000000000..6959d732c --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/base.html" @@ -0,0 +1,27 @@ + + + + + {% block title %}SHOP AVANGARD{% endblock %} + {% load static %} + + + +
+

Хоккейный клуб Авангард.

+ +
+ +
+ {% block content %}{% endblock %} +
+ + + + diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/contact.html" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/contact.html" new file mode 100644 index 000000000..9919642cb --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/contact.html" @@ -0,0 +1,25 @@ +{% extends 'base.html' %} + +{% block title %}Контакты - Автомобили Баварии{% endblock %} + +{% block content %} +
+

Свяжитесь с нами

+

+ Если у вас есть вопросы по моделям, сервисному обслуживанию или вы хотите записаться на тест-драйв — заполните форму ниже, и мы свяжемся с вами. +

+ +
+ {% csrf_token %} + {{ form.non_field_errors }} + {% for field in form %} + + {{ field }} + {% if field.errors %} +
{{ field.errors|striptags }}
+ {% endif %} + {% endfor %} + +
+
+{% endblock %} diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/home.html" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/home.html" new file mode 100644 index 000000000..6117c9c84 --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/home.html" @@ -0,0 +1,31 @@ +{% extends 'base.html' %} + +{% block title %}Home - SHOP AVANGARD{% endblock %} + +{% block content %} + +
+ {% for product in t_shirts %} +
+ {{ product.model_name }} +

{{ product.name }}

+

Price: {{ product.price }} руб.

+

Size: {{ product.size }}

+

Color: {{ product.color }}

+

{{ product.description }}

+
+ {% endfor %} +
+

Hoodies and T-shirts

+
+ {% for product in hoodies %} +
+ {{ product.model_name }} +

{{ product.name }}

+

Price: ${{ product.price }}

+

Size: {{ product.size }}

+

Color: {{ product.color }}

+

{{ product.description }}

+ {% endfor %} +
+{% endblock %} diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/thanks.html" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/thanks.html" new file mode 100644 index 000000000..2526a7420 --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/templates/thanks.html" @@ -0,0 +1,11 @@ +{% extends 'base.html' %} + +{% block title %}Спасибо за обращение - Автомобили Баварии{% endblock %} + +{% block content %} +
+

Спасибо за обращение!

+

Мы скоро с вами свяжемся.

+ Вернуться на главную +
+{% endblock %} diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/urls.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/urls.py" new file mode 100644 index 000000000..0719ec881 --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/urls.py" @@ -0,0 +1,10 @@ +from django.urls import path +from . import views + +urlpatterns = [ + path('', views.home, name='home'), + path('about/', views.about, name='about'), + path('contact/', views.contact, name='contact'), + path('thanks/', views.thanks, name='thanks'), +] + diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/views.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/views.py" new file mode 100644 index 000000000..e540a036c --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/dealership/views.py" @@ -0,0 +1,31 @@ +from django.shortcuts import render, redirect +from .models import ContactMessage +from django.core.mail import send_mail +from django.conf import settings +from django.http import HttpResponse +from .models import Product +from .forms import ContactForm + +def about(request): + return render(request, 'about.html') + +def contact(request): + if request.method == 'POST': + form = ContactForm(request.POST) + if form.is_valid(): + form.save() # Сохраняем данные в базу + return redirect('thanks') # Или другая страница после отправки + else: + form = ContactForm() + return render(request, 'contact.html', {'form': form}) + +def home(request): + t_shirts = Product.objects.filter(category='t') + hoodies = Product.objects.filter(category='h') + return render(request, 'home.html', { + 't-shirts': t_shirts, + 'hoodies': hoodies, + }) + +def thanks(request): + return render(request, 'thanks.html') \ No newline at end of file diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/manage.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/manage.py" new file mode 100755 index 000000000..a7da6671a --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/manage.py" @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.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) + + +if __name__ == '__main__': + main() diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/.DS_Store" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/.DS_Store" new file mode 100644 index 000000000..7505a3a97 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/.DS_Store" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho1_black.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho1_black.jpg" new file mode 100644 index 000000000..8ab610a9e Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho1_black.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho1_grey.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho1_grey.jpg" new file mode 100644 index 000000000..2251a7943 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho1_grey.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho1_red.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho1_red.jpg" new file mode 100644 index 000000000..ae667d72b Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho1_red.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho2_black.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho2_black.jpg" new file mode 100644 index 000000000..1e47b386a Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho2_black.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho3_black.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho3_black.jpg" new file mode 100644 index 000000000..82dfceeca Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/ho3_black.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_black1.png" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_black1.png" new file mode 100644 index 000000000..8fb9fc480 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_black1.png" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_black2.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_black2.jpg" new file mode 100644 index 000000000..82436737d Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_black2.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_red1.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_red1.jpg" new file mode 100644 index 000000000..425de711f Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_red1.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_white1.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_white1.jpg" new file mode 100644 index 000000000..e5db590b0 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_white1.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_white2.jpeg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_white2.jpeg" new file mode 100644 index 000000000..fa0d92c26 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/cars/t-s_white2.jpeg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/.DS_Store" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/.DS_Store" new file mode 100644 index 000000000..f56237c26 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/.DS_Store" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho1_black.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho1_black.jpg" new file mode 100644 index 000000000..8ab610a9e Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho1_black.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho1_grey.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho1_grey.jpg" new file mode 100644 index 000000000..2251a7943 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho1_grey.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho1_red.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho1_red.jpg" new file mode 100644 index 000000000..ae667d72b Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho1_red.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho2_black.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho2_black.jpg" new file mode 100644 index 000000000..1e47b386a Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho2_black.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho3_black.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho3_black.jpg" new file mode 100644 index 000000000..82dfceeca Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/ho3_black.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_black1.png" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_black1.png" new file mode 100644 index 000000000..8fb9fc480 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_black1.png" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_black2.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_black2.jpg" new file mode 100644 index 000000000..82436737d Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_black2.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_red1.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_red1.jpg" new file mode 100644 index 000000000..425de711f Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_red1.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_white1.jpg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_white1.jpg" new file mode 100644 index 000000000..e5db590b0 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_white1.jpg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_white2.jpeg" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_white2.jpeg" new file mode 100644 index 000000000..fa0d92c26 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/media/products/t-s_white2.jpeg" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__init__.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__init__.py" new file mode 100644 index 000000000..e69de29bb diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__pycache__/__init__.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__pycache__/__init__.cpython-313.pyc" new file mode 100644 index 000000000..6bcbebbb1 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__pycache__/__init__.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__pycache__/settings.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__pycache__/settings.cpython-313.pyc" new file mode 100644 index 000000000..f0ebc8cf4 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__pycache__/settings.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__pycache__/urls.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__pycache__/urls.cpython-313.pyc" new file mode 100644 index 000000000..940023d4e Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__pycache__/urls.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__pycache__/wsgi.cpython-313.pyc" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__pycache__/wsgi.cpython-313.pyc" new file mode 100644 index 000000000..04daed1ed Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/__pycache__/wsgi.cpython-313.pyc" differ diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/asgi.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/asgi.py" new file mode 100644 index 000000000..4e0d84ca0 --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/asgi.py" @@ -0,0 +1,16 @@ +""" +ASGI config for mysite project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/5.2/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') + +application = get_asgi_application() diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/settings.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/settings.py" new file mode 100644 index 000000000..514c33b4d --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/settings.py" @@ -0,0 +1,133 @@ +""" +Django settings for mysite project. + +Generated by 'django-admin startproject' using Django 5.2. + +For more information on this file, see +https://docs.djangoproject.com/en/5.2/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/5.2/ref/settings/ +""" + +from pathlib import Path +import os + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/5.2/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-#j^+v$@sw5rcuny77x2rnc_gmr)#+o5$92kl(c=^7eyp)(9bbg' + +# 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', + 'dealership', +] + +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 = 'mysite.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [BASE_DIR / 'templates'], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'mysite.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/5.2/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/5.2/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/5.2/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/5.2/howto/static-files/ + +STATIC_URL = '/static/' + +STATICFILES_DIRS = [ + BASE_DIR / "static", +] + + +# Default primary key field type +# https://docs.djangoproject.com/en/5.2/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + +MEDIA_URL = '/media/' +MEDIA_ROOT = os.path.join(BASE_DIR, 'media') + diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/urls.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/urls.py" new file mode 100644 index 000000000..e71e81142 --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/urls.py" @@ -0,0 +1,31 @@ +""" +URL configuration for mysite project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/5.2/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, include +from django.conf import settings +from django.conf.urls.static import static + + +urlpatterns = [ + path('admin/', admin.site.urls), # Админ панель + path('', include('dealership.urls')), # Все URL-ы из приложения 'dealership' +] + +if settings.DEBUG: + urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/wsgi.py" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/wsgi.py" new file mode 100644 index 000000000..35e1b4dc0 --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/mysite/wsgi.py" @@ -0,0 +1,16 @@ +""" +WSGI config for mysite 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/5.2/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') + +application = get_wsgi_application() diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/static/style.css" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/static/style.css" new file mode 100644 index 000000000..b55c05199 --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/mysite/static/style.css" @@ -0,0 +1,194 @@ +body { + font-family: Arial, sans-serif; + background-color: #f4f4f4; + color: #333; + padding-bottom: 100px; +} + +header { + background-color: #1d1d1d; + padding: 10px; + text-align: center; +} + +header nav a { + color: white; + margin: 0 15px; + text-decoration: none; +} + +footer { + background-color: #1d1d1d; + color: white; + text-align: center; + padding: 10px; + position: fixed; + width: 100%; + bottom: 0; +} + +.company-name { + color: #FFFFFF; +} + +.card-container { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 20px; + margin-top: 20px; +} + +.product-card { + background-color: white; + border-radius: 10px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + padding: 15px; + text-align: center; + transition: transform 0.2s ease; +} + +.product-card:hover { + transform: scale(1.02); +} + +.product-card img { + width: 200px; + height: auto; + border-radius: 8px; +} + +.product-card h3 { + margin-top: 10px; + font-size: 1.2rem; +} + +.product-card p { + margin: 5px 0; +} + +.about-container { + max-width: 900px; + margin: 40px auto; + padding: 30px; + background-color: #f9f9f9; + border-radius: 16px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); + font-family: "Helvetica Neue", sans-serif; + line-height: 1.6; + color: #333; +} + +.about-container h2 { + font-size: 32px; + color: #0a1f44; + margin-bottom: 20px; + text-align: center; +} + +.about-container p { + font-size: 18px; + margin-bottom: 18px; +} + +.about-container strong { + color: #003399; +} + +.contact-container { + max-width: 700px; + margin: 0 auto; + padding: 40px 20px; + background-color: #f9f9f9; + border-radius: 12px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); +} + +.contact-title { + text-align: center; + font-size: 28px; + color: #0a1f44; + margin-bottom: 10px; +} + +.contact-description { + text-align: center; + font-size: 16px; + margin-bottom: 30px; + color: #333; +} + +.contact-form label { + display: block; + font-size: 15px; + margin-bottom: 6px; + color: #333; +} + +.contact-form input, +.contact-form textarea { + width: 90%; + padding: 10px 14px; + margin-bottom: 20px; + border: 1px solid #ccc; + border-radius: 8px; + font-size: 15px; + transition: border-color 0.3s ease; +} + +.contact-form input:focus, +.contact-form textarea:focus { + border-color: #1a73e8; + outline: none; +} + +.submit-button { + background-color: #1a73e8; + color: #fff; + padding: 12px 24px; + border: none; + font-size: 16px; + border-radius: 8px; + cursor: pointer; + transition: background-color 0.3s ease; +} + +.submit-button:hover { + background-color: #155cc0; +} + +.thanks-container { + max-width: 600px; + margin: 80px auto; + padding: 40px; + background-color: #f9f9f9; + border-radius: 12px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); + text-align: center; + font-family: "Helvetica Neue", sans-serif; +} + +.thanks-container h1 { + color: #0a1f44; + font-size: 32px; + margin-bottom: 20px; +} + +.thanks-container p { + font-size: 18px; + margin-bottom: 30px; +} + +.home-link { + display: inline-block; + padding: 12px 24px; + background-color: #1a73e8; + color: white; + text-decoration: none; + border-radius: 8px; + font-size: 16px; + transition: background-color 0.3s ease; +} + +.home-link:hover { + background-color: #155cc0; +} diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/requirements.txt" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/requirements.txt" new file mode 100644 index 000000000..747526641 --- /dev/null +++ "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/requirements.txt" @@ -0,0 +1,187 @@ +aiocryptopay==0.4.6 +aiofiles==24.1.0 +aiogram==3.14.0 +aiohappyeyeballs==2.4.3 +aiohttp==3.10.10 +aiosignal==1.3.1 +annotated-types==0.7.0 +antiorm==1.2.1 +anyio==4.6.2.post1 +appnope==0.1.4 +argon2-cffi==23.1.0 +argon2-cffi-bindings==21.2.0 +arrow==1.3.0 +asgiref==3.8.1 +asttokens==3.0.0 +async-lru==2.0.4 +async-timeout==4.0.3 +attrs==23.2.0 +babel==2.17.0 +beautifulsoup4==4.11.2 +bitarray==2.7.3 +bleach==6.2.0 +blinker==1.9.0 +bs4==0.0.2 +certifi==2023.11.17 +cffi==1.17.1 +charset-normalizer==3.0.1 +chromedriver==2.24.1 +chromedriver-autoinstaller==0.6.4 +click==8.1.7 +comm==0.2.2 +contourpy==1.3.1 +coverage==7.6.4 +cycler==0.12.1 +debugpy==1.8.13 +decorator==5.2.1 +defusedxml==0.7.1 +distro==1.9.0 +Django==5.2 +docx==0.2.4 +et-xmlfile==1.1.0 +exceptiongroup==1.2.0 +executing==2.2.0 +fastapi==0.115.4 +fastjsonschema==2.21.1 +filelock==3.17.0 +fonttools==4.56.0 +fqdn==1.5.1 +frozenlist==1.5.0 +fsspec==2025.3.0 +future==0.18.3 +gpytranslate==1.5.1 +h11==0.14.0 +httpcore==1.0.6 +httpx==0.27.2 +idna==3.4 +iniconfig==2.0.0 +ipykernel==6.29.5 +ipython==8.34.0 +isoduration==20.11.0 +itsdangerous==2.2.0 +jedi==0.19.2 +Jinja2==3.1.5 +jiter==0.7.0 +json5==0.10.0 +jsonpointer==3.0.0 +jsonschema==4.23.0 +jsonschema-specifications==2024.10.1 +jupyter-events==0.12.0 +jupyter-lsp==2.2.5 +jupyter_client==8.6.3 +jupyter_core==5.7.2 +jupyter_server==2.15.0 +jupyter_server_terminals==0.5.3 +jupyterlab==4.3.5 +jupyterlab_pygments==0.3.0 +jupyterlab_server==2.27.3 +kiwisolver==1.4.8 +lxml==4.9.2 +magic-filter==1.0.12 +MarkupSafe==3.0.2 +matplotlib==3.10.1 +matplotlib-inline==0.1.7 +mistune==3.1.2 +more-itertools==10.5.0 +mpmath==1.3.0 +multidict==6.1.0 +nbclient==0.10.2 +nbconvert==7.16.6 +nbformat==5.10.4 +nest-asyncio==1.6.0 +networkx==3.4.2 +notebook==7.3.2 +notebook_shim==0.2.4 +numpy==2.1.1 +openai==1.54.3 +opencv-python==4.11.0.86 +openpyxl==3.1.2 +outcome==1.3.0.post0 +overrides==7.7.0 +packaging==23.2 +pandas==1.5.3 +pandocfilters==1.5.1 +parso==0.8.4 +pd==0.0.4 +peewee==3.16.2 +pefile==2021.9.3 +pexpect==4.9.0 +Pillow==9.4.0 +platformdirs==4.3.6 +pluggy==1.5.0 +prometheus_client==0.21.1 +prompt_toolkit==3.0.50 +propcache==0.2.0 +psutil==7.0.0 +psycopg==3.2.3 +psycopg-binary==3.2.3 +psycopg-pool==3.2.3 +ptyprocess==0.7.0 +pure_eval==0.2.3 +py-cpuinfo==9.0.0 +py-telegram-bot-api==0.0.8 +pycparser==2.22 +pydantic==2.9.2 +pydantic_core==2.23.4 +Pygments==2.19.1 +pyparsing==3.2.1 +PyQt5==5.15.11 +PyQt5-Qt5==5.15.15 +PyQt5_sip==12.15.0 +PySocks==1.7.1 +pyTelegramBotAPI==4.23.0 +pytest==8.3.3 +pytest-cov==5.0.0 +python-dateutil==2.8.2 +python-docx==0.8.11 +python-dotenv==1.0.1 +python-json-logger==3.3.0 +pytz==2022.7.1 +PyYAML==6.0.2 +pyzmq==26.3.0 +referencing==0.36.2 +regex==2024.11.6 +requests==2.32.3 +rfc3339-validator==0.1.4 +rfc3986-validator==0.1.1 +rpds-py==0.23.1 +scipy==1.14.1 +seaborn==0.13.2 +selenium==4.18.1 +Send2Trash==1.8.3 +six==1.16.0 +sniffio==1.3.1 +sortedcontainers==2.4.0 +soupsieve==2.4 +sqlparse==0.5.3 +stack-data==0.6.3 +starlette==0.41.2 +StrEnum==0.4.15 +sympy==1.13.1 +telebot==0.0.4 +terminado==0.18.1 +tiktoken==0.8.0 +tinycss2==1.4.0 +tomli==2.0.2 +torch==2.6.0 +torchvision==0.21.0 +tornado==6.4.2 +tqdm==4.67.0 +traitlets==5.14.3 +trio==0.24.0 +trio-websocket==0.11.1 +types-python-dateutil==2.9.0.20241206 +typing_extensions==4.12.2 +ultralytics==8.3.88 +ultralytics-thop==2.0.14 +uri-template==1.3.0 +urllib3==1.26.14 +uvicorn==0.32.0 +wcwidth==0.2.13 +webcolors==24.11.1 +webencodings==0.5.1 +websocket-client==1.8.0 +Werkzeug==3.1.3 +wikipedia==1.4.0 +wsproto==1.2.0 +yarl==1.17.1 diff --git "a/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/\320\235\320\276\321\201\320\276\320\262 \320\233\320\260\320\261\320\276\321\200\320\260\321\202\320\276\321\200\320\275\320\260\321\217 \321\200\320\260\320\261\320\276\321\202\320\260 7-8.docx" "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/\320\235\320\276\321\201\320\276\320\262 \320\233\320\260\320\261\320\276\321\200\320\260\321\202\320\276\321\200\320\275\320\260\321\217 \321\200\320\260\320\261\320\276\321\202\320\260 7-8.docx" new file mode 100644 index 000000000..a1dde6341 Binary files /dev/null and "b/work/K3322/\320\235\320\276\321\201\320\276\320\262\320\220\320\273\320\265\320\272\321\201\320\260\320\275\320\264\321\200\320\224\320\274\320\270\321\202\321\200\320\270\320\265\320\262\320\270\321\207/\320\233\320\260\320\2617-8/\320\235\320\276\321\201\320\276\320\262 \320\233\320\260\320\261\320\276\321\200\320\260\321\202\320\276\321\200\320\275\320\260\321\217 \321\200\320\260\320\261\320\276\321\202\320\260 7-8.docx" differ diff --git "a/work/\320\275\320\276\320\274\320\265\321\200_\320\263\321\200\321\203\320\277\320\277\321\213/\320\244\320\230\320\236/\320\275\320\276\320\274\320\265\321\200_\320\273\320\260\320\261\321\213/index.html" "b/work/\320\275\320\276\320\274\320\265\321\200_\320\263\321\200\321\203\320\277\320\277\321\213/\320\244\320\230\320\236/\320\275\320\276\320\274\320\265\321\200_\320\273\320\260\320\261\321\213/index.html" deleted file mode 100644 index d01f779ff..000000000 --- "a/work/\320\275\320\276\320\274\320\265\321\200_\320\263\321\200\321\203\320\277\320\277\321\213/\320\244\320\230\320\236/\320\275\320\276\320\274\320\265\321\200_\320\273\320\260\320\261\321\213/index.html" +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - Document - - - - - \ No newline at end of file