From 567226684d10d43320dfe7ad7c246419e5fcd7e6 Mon Sep 17 00:00:00 2001 From: benjaminramey Date: Thu, 1 Apr 2021 09:30:10 -0500 Subject: [PATCH] Bookmark form --- bookmarks/templates/bookmarks/bookmark_form.html | 6 ++++++ bookmarks/urls.py | 3 ++- bookmarks/views.py | 14 ++++++++++---- 3 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 bookmarks/templates/bookmarks/bookmark_form.html diff --git a/bookmarks/templates/bookmarks/bookmark_form.html b/bookmarks/templates/bookmarks/bookmark_form.html new file mode 100644 index 0000000..1fffdc1 --- /dev/null +++ b/bookmarks/templates/bookmarks/bookmark_form.html @@ -0,0 +1,6 @@ +

Add a bookmark

+
+ {% csrf_token %} + {{ form.as_p }} + +
\ No newline at end of file diff --git a/bookmarks/urls.py b/bookmarks/urls.py index 216b571..db3da9f 100644 --- a/bookmarks/urls.py +++ b/bookmarks/urls.py @@ -4,5 +4,6 @@ from . import views app_name = 'bookmarks' urlpatterns = [ - path('', views.BookmarkListView.as_view(), name='bookmark-list') + path('', views.BookmarkListView.as_view(), name='bookmark-list'), + path('create', views.BookmarkCreate.as_view(), name='bookmark-create') ] \ No newline at end of file diff --git a/bookmarks/views.py b/bookmarks/views.py index b36ff86..e1ae0f0 100644 --- a/bookmarks/views.py +++ b/bookmarks/views.py @@ -1,5 +1,7 @@ from .models import Bookmark +from django.urls import reverse_lazy from django.views.generic.list import ListView +from django.views.generic import CreateView from django.contrib.auth.mixins import LoginRequiredMixin from .models import Bookmark @@ -11,7 +13,11 @@ class BookmarkListView(LoginRequiredMixin, ListView): def get_queryset(self): return Bookmark.objects.filter(user_id=self.request.user.id) - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context['userid'] = self.request.user.id - return context +class BookmarkCreate(LoginRequiredMixin, CreateView): + model = Bookmark + fields = ['title','url'] + success_url = reverse_lazy('bookmarks:bookmark-list') + + def form_valid(self, form): + form.instance.user = self.request.user + return super().form_valid(form)