Commit 7a0f156f authored by MJoshBen's avatar MJoshBen

Created the Add Book Feature and Updated the Homepage and README in the new...

Created the Add Book Feature and Updated the Homepage and README in the new branch created named 'Lab04'
parent 80e57f21
Matthew Josh Benedict R. Benito, 210857, 2 CS-DGDD, CSCI 40-F Matthew Josh Benedict R. Benito, 210857, 2 CS-DGDD, CSCI 40-F
Lab 03: My Favorite Books and Authors Lab 04: My Favorite Books and Authors v2
May 20, 2023 May 20, 2023
All of this code was created by myself with my own understanding and knowledge. The only assistance I referred to is through the Canvas slides or consultation from the professor All of this code was created by myself with my own understanding and knowledge. The only assistance I referred to is through the Canvas slides or consultation from the professor
<sgd> Matthew Josh Benedict R. Benito, May, 20 2023 <sgd> Matthew Josh Benedict R. Benito, May, 20 2023
\ No newline at end of file
{% extends 'base.html' %}
{% block title %}Add New Book{% endblock %}
{% block content %}
<form action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Add Book">
</form>
{% endblock %}
{% block scripts %}
{% endblock %}
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
I also try to watch their animated versions when they release </h3><br><br> I also try to watch their animated versions when they release </h3><br><br>
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<a href="http://127.0.0.1:8000/books">Books</a> <a href="/books">Books</a>
<a href="http://127.0.0.1:8000/authors">Authors</a> <a href="/authors">Authors</a><br>
<a href="/books/add">Add Book</a>
{% endblock %} {% endblock %}
from django.urls import path from django.urls import path
from .views import homepage_view, BooksListView, BooksDetailView, AuthorListView, AuthorDetailView from .views import homepage_view, BooksListView, BooksDetailView, BooksCreateView, AuthorListView, AuthorDetailView
urlpatterns = [ urlpatterns = [
path('home/', homepage_view, name='home'), path('home/', homepage_view, name='home'),
path('books/', BooksListView.as_view(), name='books-list'), path('books/', BooksListView.as_view(), name='books-list'),
path('books/<int:pk>/details', BooksDetailView.as_view(), name='book-details'), path('books/<int:pk>/details', BooksDetailView.as_view(), name='book-details'),
path('books/add/', BooksCreateView.as_view(), name='add-book'),
path('authors/', AuthorListView.as_view(), name='authors-list'), path('authors/', AuthorListView.as_view(), name='authors-list'),
path('authors/<int:pk>/details', AuthorDetailView.as_view(), name='author-details'), path('authors/<int:pk>/details', AuthorDetailView.as_view(), name='author-details'),
] ]
......
from django.shortcuts import render from django.shortcuts import render
from django.views.generic.list import ListView from django.views.generic.list import ListView
from django.views.generic.detail import DetailView from django.views.generic.detail import DetailView
from django.views.generic.edit import CreateView
# Create your views here. # Create your views here.
from .models import Books, Author from .models import Books, Author
...@@ -21,6 +22,10 @@ class BooksDetailView(DetailView): ...@@ -21,6 +22,10 @@ class BooksDetailView(DetailView):
def get(self, request, pk): def get(self, request, pk):
return render(request, 'bookshelf/book_details.html', {'book': self.model.objects.get(pk=pk)}) return render(request, 'bookshelf/book_details.html', {'book': self.model.objects.get(pk=pk)})
class BooksCreateView(CreateView):
model = Books
fields = '__all__'
template_name = 'bookshelf/add-book.html'
class AuthorListView(ListView): class AuthorListView(ListView):
model = Author model = Author
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment