diff --git a/OnlineBookClub/__pycache__/settings.cpython-311.pyc b/OnlineBookClub/__pycache__/settings.cpython-311.pyc index fd177bc..b222526 100644 Binary files a/OnlineBookClub/__pycache__/settings.cpython-311.pyc and b/OnlineBookClub/__pycache__/settings.cpython-311.pyc differ diff --git a/OnlineBookClub/__pycache__/urls.cpython-311.pyc b/OnlineBookClub/__pycache__/urls.cpython-311.pyc index 2830b70..3eee775 100644 Binary files a/OnlineBookClub/__pycache__/urls.cpython-311.pyc and b/OnlineBookClub/__pycache__/urls.cpython-311.pyc differ diff --git a/books/__pycache__/tests.cpython-311.pyc b/books/__pycache__/tests.cpython-311.pyc new file mode 100644 index 0000000..a288aa5 Binary files /dev/null and b/books/__pycache__/tests.cpython-311.pyc differ diff --git a/db.sqlite3 b/db.sqlite3 index 61af7c9..4f5b963 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/group/__pycache__/tests.cpython-311.pyc b/group/__pycache__/tests.cpython-311.pyc new file mode 100644 index 0000000..cf32df9 Binary files /dev/null and b/group/__pycache__/tests.cpython-311.pyc differ diff --git a/main/__pycache__/forms.cpython-311.pyc b/main/__pycache__/forms.cpython-311.pyc index 65b84b6..2311542 100644 Binary files a/main/__pycache__/forms.cpython-311.pyc and b/main/__pycache__/forms.cpython-311.pyc differ diff --git a/main/__pycache__/models.cpython-311.pyc b/main/__pycache__/models.cpython-311.pyc index 9674ede..12ca76b 100644 Binary files a/main/__pycache__/models.cpython-311.pyc and b/main/__pycache__/models.cpython-311.pyc differ diff --git a/main/__pycache__/urls.cpython-311.pyc b/main/__pycache__/urls.cpython-311.pyc index 7d0e41d..ca325f6 100644 Binary files a/main/__pycache__/urls.cpython-311.pyc and b/main/__pycache__/urls.cpython-311.pyc differ diff --git a/main/__pycache__/views.cpython-311.pyc b/main/__pycache__/views.cpython-311.pyc index 0e498ab..969ac65 100644 Binary files a/main/__pycache__/views.cpython-311.pyc and b/main/__pycache__/views.cpython-311.pyc differ diff --git a/main/forms.py b/main/forms.py new file mode 100644 index 0000000..2ada947 --- /dev/null +++ b/main/forms.py @@ -0,0 +1,33 @@ +from django.forms import ModelForm +from .models import * +from datetime import date +from django.forms import ModelForm, TextInput, Textarea, Select + + +class CreateFeedback(ModelForm): + class Meta: + model = Feedback + fields = ["feedback"] + widgets = { + 'feedback': TextInput(attrs={ + 'placeholder': "add your comment", + 'class': "form-control" + }), + } + + +class CreateReport(ModelForm): + class Meta: + model = Report + topics_choices = Topic.objects.order_by('-id') + fields = ["report", "topic"] + widgets = { + 'report': TextInput(attrs={ + 'placeholder': "add your comment", + 'class': "form-control" + }), + 'topic': Select(choices=topics_choices, attrs={ + 'placeholder': "horror", + 'class': "form-control" + }), + } \ No newline at end of file diff --git a/main/migrations/0001_initial.py b/main/migrations/0001_initial.py new file mode 100644 index 0000000..c931e93 --- /dev/null +++ b/main/migrations/0001_initial.py @@ -0,0 +1,26 @@ +# Generated by Django 5.0.2 on 2024-05-15 09:33 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Feedback', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('feedback', models.TextField(max_length=1000)), + ('date_created', models.DateTimeField(auto_now_add=True, null=True)), + ('user_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/main/migrations/0002_topic_report.py b/main/migrations/0002_topic_report.py new file mode 100644 index 0000000..a862295 --- /dev/null +++ b/main/migrations/0002_topic_report.py @@ -0,0 +1,33 @@ +# Generated by Django 5.0.2 on 2024-05-19 19:16 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Topic', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=200)), + ], + ), + migrations.CreateModel( + name='Report', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('report', models.TextField(max_length=1000)), + ('date_created', models.DateTimeField(auto_now_add=True, null=True)), + ('user_id', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ('topic', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.topic')), + ], + ), + ] diff --git a/main/migrations/__pycache__/0001_initial.cpython-311.pyc b/main/migrations/__pycache__/0001_initial.cpython-311.pyc new file mode 100644 index 0000000..8e6cec0 Binary files /dev/null and b/main/migrations/__pycache__/0001_initial.cpython-311.pyc differ diff --git a/main/migrations/__pycache__/0002_topic_report.cpython-311.pyc b/main/migrations/__pycache__/0002_topic_report.cpython-311.pyc new file mode 100644 index 0000000..2ded773 Binary files /dev/null and b/main/migrations/__pycache__/0002_topic_report.cpython-311.pyc differ diff --git a/main/models.py b/main/models.py index 137941f..1bb8adc 100644 --- a/main/models.py +++ b/main/models.py @@ -1 +1,30 @@ from django.db import models +from django.contrib.auth.models import User + + +class Topic(models.Model): + name = models.CharField(max_length=200) + + def __str__(self): + return self.name + + +class Feedback(models.Model): + feedback = models.TextField(max_length=1000, blank=False) + user_id = models.ForeignKey(User, blank=False, on_delete=models.CASCADE) + date_created = models.DateTimeField(auto_now_add=True, null=True) + + def __str__(self): + return str(self.feedback) + + + +class Report(models.Model): + report = models.TextField(max_length=1000, blank=False) + user_id = models.ForeignKey(User, blank=False, on_delete=models.CASCADE) + topic = models.ForeignKey(Topic, blank=False, on_delete=models.CASCADE) + date_created = models.DateTimeField(auto_now_add=True, null=True) + + def __str__(self): + return str(self.report) + diff --git a/main/templates/main/feedback.html b/main/templates/main/feedback.html new file mode 100644 index 0000000..25e9988 --- /dev/null +++ b/main/templates/main/feedback.html @@ -0,0 +1,33 @@ +{% extends 'main/layout.html' %} + + +{% block content %} +
{{ el.feedback }}
+{{ el.user_id }}
+{{ el.date_created }}
+