django liste déroulante des modèles stockés

Je suis en train de créer un formulaire pour une bibliothèque où un utilisateur peut effectuer 2 actions: ajouter un nouveau livre ou d'ouvrir l'information stockée d'un existant. Les livres ont les 2 champs (titre et auteur).
Chaque fois qu'un nouveau livre est créé, il est stocké dans la base de données. Précédemment créé livre est présenté comme une option dans une liste déroulante (seulement le nom). Je veux que lorsque l'utilisateur sélectionne une option dans la liste déroulante, les informations du livre sélectionné apparaît sur l'écran.

J'ai essayé 2 approches différentes, mais aucun d'eux ne répond à mes exigences.
D'une part, à la suite de cette question django liste déroulante de formulaire de liste de numéros de je suis en mesure de créer une liste déroulante, et d'obtenir la valeur sélectionnée à vue avec un code comme ça:

class CronForm(forms.Form):
    days = forms.ChoiceField(choices=[(x, x) for x in range(1, 32)])

def manage_books(request):
    d = CronForm()
    if request.method == 'POST':
        day = request.POST.get('days')

Mais je veux que mes options précédemment livres stockés dans la base de données, et non pas de valeurs prédéfinies.

Une autre approche que j'ai essayé de le faire à partir du modèle html. Là, j'ai créer le formulaire suivant:

<form>
    {% for book in list %} 
        <option value="name">{{ book.name }}</option>
    {% endfor %}   
</form>

Où le livre est rendu à vue:

l = Books.objects.all().order_by('name')

Dans ce second cas, les informations affichées sur la liste déroulante est celui que je veux, mais je ne sais pas comment récupérer la valeur sélectionnée et de l'utiliser à des points de vue. Peut-être à l'aide d'une fonction javascript?

Donc mes 2 exigences: montrer la bonne info à la liste (la stockées à la DB par l'utilisateur) et être en mesure de savoir ce qui a été sélectionné.

source d'informationauteur toni