J'essaye de créer une application Django où l'utilisateur peut faire une liste de films. Chaque fois que l'utilisateur se connecte, sa liste de films lui sera présentée dans un tableau. La table aura trois colonnes: une pour le nom du film, une pour le genre, et une autre qui contiendra des boutons de suppression qui permettront à l'utilisateur de supprimer la ligne correspondant au bouton. L'utilisateur peut ajouter des lignes à la table en remplissant une zone de texte avec le nom du film, et en sélectionnant un genre dans un menu déroulant, puis en appuyant sur un bouton "Ajouter". Les boutons "Ajouter" et "Supprimer" sont le seul moyen par lequel l'utilisateur peut modifier la table.Création de tables HTML modifiables avec Django
Existe-t-il des raccourcis Django pour créer une telle table modifiable? J'ai pensé que cela pourrait être quelque chose qui convient aux formsets, mais je n'arrive pas à comprendre comment le faire. Aussi, il a été difficile de google "tables Django" comme les résultats semblent être sur les tables de base de données.
C'est le modèle que je suis en train d'utiliser actuellement:
class MovieList(models.Model):
user = models.ForeignKey(User)
movie = models.ForeignKey(Movie)
class Movie(models.Model):
genre = models.ForeignKey(Genre)
name = models.CharField(max_length=300)
class Genre(models.Model):
name = models.CharField(max_length=200)
Toute aide serait très apprécié.
Merci arie. J'ai effectivement essayé d'utiliser jQuery afin que les utilisateurs puissent ajouter et supprimer plusieurs fois, et les données ne se synchronisent avec le serveur qu'une fois que l'utilisateur est prêt à enregistrer leurs modifications. Je n'étais pas au courant des django-dynamic-formsets. Je devrais regarder plus loin mais ce pourrait être le type de chose dont j'ai besoin. –
Aurais-je raison de comprendre de votre part qu'il n'y a pas de raccourcis django pour cette situation? Je dois juste utiliser une vieille vue plaine avec une vieille forme simple? Ou est-ce qu'un formset est plus approprié? (Je ne suis toujours pas très clair sur ce qu'est un formset J'ai essayé d'en utiliser un et je l'ai rendu sous forme de tableau pour voir à quoi cela ressemblait, mais ce n'était pas ce à quoi je m'attendais. ou que formsets étaient juste inapproprié pour ce que je faisais) Pensées? –
Hm ... "Un formset est une couche d'abstraction à travailler avec plusieurs formes sur la même page". Donc, si vous voulez rendre chaque entrée de votre table sous forme de formulaire (et y attacher un bouton de suppression), un formset serait le chemin à parcourir. Une alternative plus propre serait de rendre toute la table comme une forme et d'utiliser des cases à cocher (comme dans la liste des modifications de Django) pour cocher les entrées à supprimer dans un seul article. Voir par exemple cette discussion pour avoir une idée des avantages et des inconvénients: http://www.mail-archive.com/[email protected]/msg53075.html – arie