{% if book_list %}
<ul>
{% for book in book_list %}
- <li>{{ book }}</li>
+ <li>{{ book }} <a href="{% url 'lease_book' book.id %}">Ausleihen</a> <ul>
+ {% for lease in book.lease_set.all %}
+ <li><a href="{% url 'return_book' lease.id %}">{{ lease.leasee }}</a></li>
+ {% endfor %}
+ </ul>
+ </li>
{% endfor %}
</ul>
{% else %}
Keine Bücher im Regal!
{% endif %}
+<form action="{% url 'index' %}" method="post">
+ {% csrf_token %}
+ <input type="text" name="title" />
+ <input type="submit" value="Neues Buch" />
+</form>
urlpatterns = [
url(r'^$', views.index, name='index'),
- url(r'(?P<book_id>\d+)', views.detail, name="detail"),
+ url(r'^(?P<book_id>\d+)$', views.detail, name="detail"),
+ url(r'^(?P<book_id>\d+)/lease$', views.lease_book, name="lease_book"),
+ url(r'^lease/(?P<lease_id>\d+)/return$', views.return_book, name="return_book"),
]
from django.shortcuts import render
-from django.http import HttpResponse
+from django.core.urlresolvers import reverse
+from django.http import HttpResponse, HttpResponseRedirect
from books.models import Book, Lease
def index(request):
+ try:
+ title = request.POST['title']
+ new_book = Book(title=title)
+ new_book.save()
+ return HttpResponseRedirect(reverse('index'))
+ except KeyError:
+ pass
book_list = Book.objects.all()
context = { 'book_list': book_list }
return render(request, 'books/index.html', context)
response = "Book ID: %s"
return HttpResponse(response % book_id)
+def return_book(request, lease_id):
+ lease = Lease.objects.get(pk = lease_id)
+ lease.delete()
+ return render(request, 'books/returned.html', {'lease': lease})
+
+def lease_book(request, book_id):
+ book = Book.objects.get(pk = book_id)
+ try:
+ leasee = request.POST['leasee']
+ lease = Lease(book = book, leasee = leasee)
+ lease.save()
+ return HttpResponseRedirect(reverse('index'))
+ except KeyError:
+ return render(request, 'books/lease.html', {'book': book})
+