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
+
\ 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)