Example #1
0
def addbook(request):
	if request.method == 'POST':
		form = BookForm(request.POST)
		if form.is_valid():
			form.save()
			return HttpResponseRedirect('/thanks/')
	else:
			form = BookForm()
	return render_to_response('book_form.html', {'form': form}, context_instance=RequestContext(request))
Example #2
0
def add_book(request):
    if request.method == 'POST':
        print request.POST
        book = BookForm(request.POST)

        bookmodel = book.save()
        print bookmodel.__dict__

        return redirect('books:books.get_book', id=bookmodel.id)
    else:
        bookform = BookForm()
        # ModelFormSet & its factory
        from django.forms import modelformset_factory
        AuthorFormSet = modelformset_factory(Author, fields=('name','title'))
        authorFormSet = AuthorFormSet(queryset=Author.objects.filter(name__istartswith='z'))
        # authorFormSet = AuthorFormSet(queryset=Author.objects.none())

        return render(request, 'books/bookform.html', {'bookform':bookform,'authorFormSet':authorFormSet})
Example #3
0
def edit_book(request,id):
    ref_page = request.META['HTTP_REFERER']
    if id is None:
        book = None
        create_message = 'Book success create!'
    else:
        book = Book.objects.get(pk=id)
        create_message = 'Book success update!'

    if request.method == "POST":
        form = BookForm(request.POST, instance=book)
        if form.is_valid():
            instance_form = form.save()
            messages.success(request, create_message)
            if id is None:
                return redirect(reverse('edit_book',args=[instance_form.id]))
    else:
        form =  BookForm(instance=book)

    return render_to_response('books/edit_book.html',{'form':form,'id':id,'class_name':'edit-book','ref_page':ref_page}, context_instance=RequestContext(request))
Example #4
0
def get_book(request, id):
    book = get_object_or_404(Book, pk = id)
    bookform = BookForm(instance = book)
    return render(request, 'books/bookform.html', {'bookform':bookform,'is_new':True})