From 54a4ef99ae098e64d80fb00bfd83c86afa080d71 Mon Sep 17 00:00:00 2001 From: ankitj Date: Thu, 7 Apr 2022 17:00:45 +0530 Subject: Add views, urls, forms and admin --- library_management/db.sqlite3 | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 201 -> 0 bytes .../__pycache__/settings.cpython-38.pyc | Bin 2441 -> 0 bytes .../__pycache__/urls.cpython-38.pyc | Bin 989 -> 0 bytes library_management/library_management/urls.py | 3 +- .../__pycache__/__init__.cpython-38.pyc | Bin 198 -> 0 bytes .../__pycache__/admin.cpython-38.pyc | Bin 239 -> 0 bytes .../__pycache__/apps.cpython-38.pyc | Bin 492 -> 0 bytes .../__pycache__/models.cpython-38.pyc | Bin 1441 -> 0 bytes library_management/library_manager/admin.py | 5 +++ library_management/library_manager/forms.py | 8 ++++ .../library_manager/migrations/0001_initial.py | 44 -------------------- .../library_manager/migrations/__init__.py | 0 .../migrations/__pycache__/__init__.cpython-38.pyc | Bin 209 -> 0 bytes library_management/library_manager/models.py | 15 ++++++- .../templates/library_manager/books.html | 14 +++++++ .../templates/library_manager/members.html | 17 ++++++++ .../templates/library_manager/new_status.html | 7 ++++ .../templates/library_manager/statuses.html | 24 +++++++++++ library_management/library_manager/urls.py | 15 +++++++ library_management/library_manager/views.py | 45 ++++++++++++++++++++- 21 files changed, 148 insertions(+), 49 deletions(-) delete mode 100644 library_management/db.sqlite3 delete mode 100644 library_management/library_management/__pycache__/__init__.cpython-38.pyc delete mode 100644 library_management/library_management/__pycache__/settings.cpython-38.pyc delete mode 100644 library_management/library_management/__pycache__/urls.cpython-38.pyc delete mode 100644 library_management/library_manager/__pycache__/__init__.cpython-38.pyc delete mode 100644 library_management/library_manager/__pycache__/admin.cpython-38.pyc delete mode 100644 library_management/library_manager/__pycache__/apps.cpython-38.pyc delete mode 100644 library_management/library_manager/__pycache__/models.cpython-38.pyc create mode 100644 library_management/library_manager/forms.py delete mode 100644 library_management/library_manager/migrations/0001_initial.py delete mode 100644 library_management/library_manager/migrations/__init__.py delete mode 100644 library_management/library_manager/migrations/__pycache__/__init__.cpython-38.pyc create mode 100644 library_management/library_manager/templates/library_manager/books.html create mode 100644 library_management/library_manager/templates/library_manager/members.html create mode 100644 library_management/library_manager/templates/library_manager/new_status.html create mode 100644 library_management/library_manager/templates/library_manager/statuses.html create mode 100644 library_management/library_manager/urls.py diff --git a/library_management/db.sqlite3 b/library_management/db.sqlite3 deleted file mode 100644 index e69de29..0000000 diff --git a/library_management/library_management/__pycache__/__init__.cpython-38.pyc b/library_management/library_management/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 1df6ad2..0000000 Binary files a/library_management/library_management/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/library_management/library_management/__pycache__/settings.cpython-38.pyc b/library_management/library_management/__pycache__/settings.cpython-38.pyc deleted file mode 100644 index 0cc4bf3..0000000 Binary files a/library_management/library_management/__pycache__/settings.cpython-38.pyc and /dev/null differ diff --git a/library_management/library_management/__pycache__/urls.cpython-38.pyc b/library_management/library_management/__pycache__/urls.cpython-38.pyc deleted file mode 100644 index 1ba10fc..0000000 Binary files a/library_management/library_management/__pycache__/urls.cpython-38.pyc and /dev/null differ diff --git a/library_management/library_management/urls.py b/library_management/library_management/urls.py index 740b3a3..b7b3249 100644 --- a/library_management/library_management/urls.py +++ b/library_management/library_management/urls.py @@ -14,8 +14,9 @@ Including another URLconf 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin -from django.urls import path +from django.urls import path, include urlpatterns = [ + path('library/', include('library_manager.urls')), path('admin/', admin.site.urls), ] diff --git a/library_management/library_manager/__pycache__/__init__.cpython-38.pyc b/library_management/library_manager/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 4164979..0000000 Binary files a/library_management/library_manager/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/library_management/library_manager/__pycache__/admin.cpython-38.pyc b/library_management/library_manager/__pycache__/admin.cpython-38.pyc deleted file mode 100644 index aea6acf..0000000 Binary files a/library_management/library_manager/__pycache__/admin.cpython-38.pyc and /dev/null differ diff --git a/library_management/library_manager/__pycache__/apps.cpython-38.pyc b/library_management/library_manager/__pycache__/apps.cpython-38.pyc deleted file mode 100644 index 5849cda..0000000 Binary files a/library_management/library_manager/__pycache__/apps.cpython-38.pyc and /dev/null differ diff --git a/library_management/library_manager/__pycache__/models.cpython-38.pyc b/library_management/library_manager/__pycache__/models.cpython-38.pyc deleted file mode 100644 index c575567..0000000 Binary files a/library_management/library_manager/__pycache__/models.cpython-38.pyc and /dev/null differ diff --git a/library_management/library_manager/admin.py b/library_management/library_manager/admin.py index 8c38f3f..9f36ecb 100644 --- a/library_management/library_manager/admin.py +++ b/library_management/library_manager/admin.py @@ -1,3 +1,8 @@ from django.contrib import admin +from .models import Book, BookStatus, Member + # Register your models here. +admin.site.register(Book) +admin.site.register(BookStatus) +admin.site.register(Member) \ No newline at end of file diff --git a/library_management/library_manager/forms.py b/library_management/library_manager/forms.py new file mode 100644 index 0000000..c7af770 --- /dev/null +++ b/library_management/library_manager/forms.py @@ -0,0 +1,8 @@ +from django.forms import ModelForm +from .models import BookStatus + +# Create the form class. +class StatusForm(ModelForm): + class Meta: + model = BookStatus + fields = ['book', 'status', 'member'] diff --git a/library_management/library_manager/migrations/0001_initial.py b/library_management/library_manager/migrations/0001_initial.py deleted file mode 100644 index daf9955..0000000 --- a/library_management/library_manager/migrations/0001_initial.py +++ /dev/null @@ -1,44 +0,0 @@ -# Generated by Django 4.0.3 on 2022-04-03 17:43 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Book', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(max_length=255)), - ('author_name', models.CharField(max_length=255)), - ('isbn_num', models.CharField(max_length=150)), - ('genre', models.CharField(max_length=15)), - ('description', models.TextField()), - ], - ), - migrations.CreateModel( - name='Member', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=255)), - ('email', models.CharField(max_length=255)), - ('phone', models.CharField(max_length=15)), - ], - ), - migrations.CreateModel( - name='BookStatus', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('status', models.CharField(choices=[('Issued', 'issued'), ('Available', 'available'), ('Unavailable', 'unavailable')], max_length=100)), - ('book', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='book_status', to='library_manager.book')), - ('member', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_status', to='library_manager.member')), - ], - ), - ] diff --git a/library_management/library_manager/migrations/__init__.py b/library_management/library_manager/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/library_management/library_manager/migrations/__pycache__/__init__.cpython-38.pyc b/library_management/library_manager/migrations/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 5a5e8b0..0000000 Binary files a/library_management/library_manager/migrations/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/library_management/library_manager/models.py b/library_management/library_manager/models.py index 2dd4146..3559927 100644 --- a/library_management/library_manager/models.py +++ b/library_management/library_manager/models.py @@ -27,5 +27,16 @@ class BookStatus(models.Model): ("Unavailable", "unavailable") ) status = models.CharField(max_length=100, choices=STATUSES) - member = models.ForeignKey("Member", on_delete=models.CASCADE, related_name="user_status") - book = models.ForeignKey("Book", on_delete=models.CASCADE, related_name="book_status") + member = models.ForeignKey( + "Member", + on_delete=models.CASCADE, + related_name="user_status", + blank=True, + null=True + ) + book = models.ForeignKey( + "Book", + on_delete=models.CASCADE, + related_name="book_status" + ) + created_on = models.DateTimeField(auto_now_add=True) diff --git a/library_management/library_manager/templates/library_manager/books.html b/library_management/library_manager/templates/library_manager/books.html new file mode 100644 index 0000000..fd61286 --- /dev/null +++ b/library_management/library_manager/templates/library_manager/books.html @@ -0,0 +1,14 @@ + +
+ Library Manager - Books +Book | +Member Name | +Status | +Date | + + + {% for stat in all_statuses %} +
{{ stat.book }} | +{{ stat.member }} | +{{ stat.status }} | +{{ stat.created_on }} | +