def bookmark_create(request): if request.method == 'POST': form = BookmarkForm(request.POST) if form.is_valid(): form.save() return redirect('bookmark:list') else: form = BookmarkForm() return render(request, 'bookmark/bookmark_create.html', {'form': form})
def bookmark_update(request, pk): bookmark = get_object_or_404(Bookmark, pk=pk) if request.method == 'POST': form = BookmarkForm(request.POST, instance=bookmark) if form.is_valid(): form.save() return redirect('bookmark:detail', bookmark.pk) else: form = BookmarkForm(instance=bookmark) return render(request, 'bookmark/bookmark_update.html', { 'bookmark': bookmark, 'form': form, })
def get(self, request, bookmark_id): bookmark = Bookmark.objects.get(pk=bookmark_id) tags = Tag.objects.filter(bookmarktag__bookmark=bookmark) \ .values_list('name', flat=True) data = {} data['tags'] = ", ".join(tags) data['title'] = bookmark.title data['url'] = bookmark.url form = BookmarkForm(initial=data) return render(request, 'bookmark/form.html', {'form': form})
def post(self, request, bookmark_id): bookmark = Bookmark.objects.get(pk=bookmark_id) form = BookmarkForm(request.POST) if form.is_valid(): BookmarkTag.objects.filter(bookmark=bookmark).delete() new_tags = form.cleaned_data.get("tags") tags = [x.strip() for x in new_tags.split(',')] for t in tags: tag, created = Tag.objects.get_or_create(name=t) bookmark_tag, created = BookmarkTag.objects \ .get_or_create(bookmark=bookmark, tag=tag) bookmark.title = form.cleaned_data.get("title") bookmark.url = form.cleaned_data.get("url") bookmark.save() return HttpResponseRedirect(reverse('bookmark:home'))
def update(self, request, bookmark_id): # Get bookmark first, if not return NOT_FOUND try: bookmark = Bookmark.objects.get(pk = int(bookmark_id), owner=request.user) oldUrl = bookmark.url form = BookmarkForm(request.PUT, instance=bookmark) bookmark = form.save() if not bookmark.title: bookmark.title = utils.get_title_by_url(bookmark.url) bookmark.save() # update screen shot if oldUrl != bookmark.url: utils.update_bk_screen_shot_async(bookmark) return bookmark except ObjectDoesNotExist: return rc.NOT_FOUND
def get(self, request): form = BookmarkForm() return render(request, 'bookmark/form.html', {'form': form})