diff --git a/core/__pycache__/forms.cpython-311.pyc b/core/__pycache__/forms.cpython-311.pyc new file mode 100644 index 0000000..905f5aa Binary files /dev/null and b/core/__pycache__/forms.cpython-311.pyc differ diff --git a/core/__pycache__/models.cpython-311.pyc b/core/__pycache__/models.cpython-311.pyc index 0103a73..68e407f 100644 Binary files a/core/__pycache__/models.cpython-311.pyc and b/core/__pycache__/models.cpython-311.pyc differ diff --git a/core/__pycache__/urls.cpython-311.pyc b/core/__pycache__/urls.cpython-311.pyc index 85d8d1a..17981d3 100644 Binary files a/core/__pycache__/urls.cpython-311.pyc and b/core/__pycache__/urls.cpython-311.pyc differ diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index f0a068a..5eca40a 100644 Binary files a/core/__pycache__/views.cpython-311.pyc and b/core/__pycache__/views.cpython-311.pyc differ diff --git a/core/forms.py b/core/forms.py new file mode 100644 index 0000000..c66d85a --- /dev/null +++ b/core/forms.py @@ -0,0 +1,16 @@ +from django import forms +from .models import Property, Booking + +class PropertyForm(forms.ModelForm): + class Meta: + model = Property + fields = ['title', 'location', 'price_per_night', 'image'] + +class BookingForm(forms.ModelForm): + class Meta: + model = Booking + fields = ['start_date', 'end_date'] + widgets = { + 'start_date': forms.DateInput(attrs={'type': 'date'}), + 'end_date': forms.DateInput(attrs={'type': 'date'}), + } diff --git a/core/migrations/0002_remove_property_image_url_property_image_and_more.py b/core/migrations/0002_remove_property_image_url_property_image_and_more.py new file mode 100644 index 0000000..32b340d --- /dev/null +++ b/core/migrations/0002_remove_property_image_url_property_image_and_more.py @@ -0,0 +1,30 @@ +# Generated by Django 5.2.7 on 2025-10-31 12:33 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.RemoveField( + model_name='property', + name='image_url', + ), + migrations.AddField( + model_name='property', + name='image', + field=models.ImageField(blank=True, null=True, upload_to='property_images/'), + ), + migrations.AddField( + model_name='property', + name='owner', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/core/migrations/0003_booking.py b/core/migrations/0003_booking.py new file mode 100644 index 0000000..7c5b6a9 --- /dev/null +++ b/core/migrations/0003_booking.py @@ -0,0 +1,26 @@ +# Generated by Django 5.2.7 on 2025-10-31 12:33 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0002_remove_property_image_url_property_image_and_more'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Booking', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('start_date', models.DateField()), + ('end_date', models.DateField()), + ('property', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.property')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/core/migrations/__pycache__/0002_remove_property_image_url_property_image_and_more.cpython-311.pyc b/core/migrations/__pycache__/0002_remove_property_image_url_property_image_and_more.cpython-311.pyc new file mode 100644 index 0000000..f986b50 Binary files /dev/null and b/core/migrations/__pycache__/0002_remove_property_image_url_property_image_and_more.cpython-311.pyc differ diff --git a/core/migrations/__pycache__/0003_booking.cpython-311.pyc b/core/migrations/__pycache__/0003_booking.cpython-311.pyc new file mode 100644 index 0000000..9307ff0 Binary files /dev/null and b/core/migrations/__pycache__/0003_booking.cpython-311.pyc differ diff --git a/core/models.py b/core/models.py index c1985ec..31144dd 100644 --- a/core/models.py +++ b/core/models.py @@ -1,10 +1,21 @@ from django.db import models +from django.contrib.auth.models import User class Property(models.Model): + owner = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True) title = models.CharField(max_length=255) location = models.CharField(max_length=255) price_per_night = models.DecimalField(max_digits=8, decimal_places=2) - image_url = models.URLField(max_length=1024, blank=True, null=True) + image = models.ImageField(upload_to='property_images/', blank=True, null=True) def __str__(self): - return self.title \ No newline at end of file + return self.title + +class Booking(models.Model): + property = models.ForeignKey(Property, on_delete=models.CASCADE) + user = models.ForeignKey(User, on_delete=models.CASCADE) + start_date = models.DateField() + end_date = models.DateField() + + def __str__(self): + return f'{self.user.username} - {self.property.title}' \ No newline at end of file diff --git a/core/templates/base.html b/core/templates/base.html index bffb148..ed1d99a 100644 --- a/core/templates/base.html +++ b/core/templates/base.html @@ -13,7 +13,73 @@ {% block head %}{% endblock %}
+ + {% block content %}{% endblock %} + + +